aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/language/en/help_bbcode.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/language/en/help_bbcode.php')
0 files changed, 0 insertions, 0 deletions
'get' action='/software/drakx/log/'>
diff options
context:
space:
mode:
Diffstat
-rw-r--r--.cvsignore7
-rw-r--r--.gitignore4
-rw-r--r--ChangeLog142943
-rw-r--r--Makefile147
-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/BUGS10
-rw-r--r--docs/HACKING122
-rw-r--r--docs/Partition-ends-after-end-of-disk.txt66
-rw-r--r--docs/README364
-rw-r--r--docs/README.devel48
-rw-r--r--docs/README.pxe11
-rw-r--r--docs/SHORTCUTS4
-rw-r--r--docs/TODO515
-rw-r--r--docs/comparisons275
-rw-r--r--docs/diskdrake.TODO23
-rw-r--r--docs/drakfont/Makefile57
-rw-r--r--docs/drakfont/dia_srcs/drakfont.diabin0 -> 4599 bytes
-rw-r--r--docs/drakfont/dia_srcs/drakfont_install.diabin0 -> 3662 bytes
-rw-r--r--docs/drakfont/dia_srcs/drakfont_uninstall.diabin0 -> 1908 bytes
-rw-r--r--docs/drakfont/drakfont.jpgbin0 -> 134044 bytes
-rw-r--r--docs/drakfont/drakfont.tex152
-rw-r--r--docs/drakfont/drakfont_install.jpgbin0 -> 86455 bytes
-rw-r--r--docs/drakfont/drakfont_uninstall.jpgbin0 -> 42291 bytes
-rw-r--r--docs/drakfont/mandrake.ps534
-rw-r--r--docs/draknet_advanced_doc.txt165
-rwxr-xr-xdocs/interactive/ask_from29
-rwxr-xr-xdocs/interactive/ask_from_list27
-rwxr-xr-xdocs/interactive/ask_from_listf27
-rwxr-xr-xdocs/interactive/ask_from_treelist27
-rwxr-xr-xdocs/interactive/wait_message13
-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--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--kernel/Makefile8
-rw-r--r--kernel/list_modules.pm467
-rw-r--r--kernel/modules.pl172
-rw-r--r--live_update77
-rwxr-xr-xmake_boot_img469
-rwxr-xr-xmake_ks_from_floppy10
-rw-r--r--mdk-stage1/.cvsignore11
-rw-r--r--mdk-stage1/.gitignore13
-rw-r--r--mdk-stage1/Makefile235
-rw-r--r--mdk-stage1/Makefile.common46
-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.c45
-rw-r--r--mdk-stage1/automatic.h5
-rw-r--r--mdk-stage1/bzlib/Makefile55
-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.c161
-rw-r--r--mdk-stage1/cdrom.h4
-rw-r--r--mdk-stage1/config-stage1.h52
-rw-r--r--mdk-stage1/dhcp.c112
-rw-r--r--mdk-stage1/dhcp.h9
-rw-r--r--mdk-stage1/dietlibc/.cvsignore12
-rw-r--r--mdk-stage1/dietlibc/AUTHOR1
-rw-r--r--mdk-stage1/dietlibc/Makefile146
-rw-r--r--mdk-stage1/dietlibc/README43
-rw-r--r--mdk-stage1/dietlibc/alpha/Makefile.add5
-rw-r--r--mdk-stage1/dietlibc/alpha/__longjmp.S38
-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/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/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/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.S46
-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/signal.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/sigprocmask.S3
-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/start.S35
-rw-r--r--mdk-stage1/dietlibc/alpha/strlen.c32
-rw-r--r--mdk-stage1/dietlibc/alpha/time.S0
-rw-r--r--mdk-stage1/dietlibc/alpha/unified.S29
-rw-r--r--mdk-stage1/dietlibc/alpha/utime.S3
-rw-r--r--mdk-stage1/dietlibc/alpha/waitpid.S10
-rw-r--r--mdk-stage1/dietlibc/diet.c112
-rw-r--r--mdk-stage1/dietlibc/dietdirent.h6
-rw-r--r--mdk-stage1/dietlibc/dietfeatures.h42
-rw-r--r--mdk-stage1/dietlibc/dietstdarg.h12
-rw-r--r--mdk-stage1/dietlibc/dietstdio.h81
-rw-r--r--mdk-stage1/dietlibc/dietwarning.h23
-rw-r--r--mdk-stage1/dietlibc/dirstream.h78
-rw-r--r--mdk-stage1/dietlibc/i386/Makefile.add3
-rw-r--r--mdk-stage1/dietlibc/i386/__longjmp.S18
-rw-r--r--mdk-stage1/dietlibc/i386/__testandset.S8
-rw-r--r--mdk-stage1/dietlibc/i386/clone.S51
-rw-r--r--mdk-stage1/dietlibc/i386/mmap.c16
-rw-r--r--mdk-stage1/dietlibc/i386/select.S3
-rw-r--r--mdk-stage1/dietlibc/i386/setjmp.S62
-rw-r--r--mdk-stage1/dietlibc/i386/start.S42
-rw-r--r--mdk-stage1/dietlibc/i386/unified.S34
-rw-r--r--mdk-stage1/dietlibc/include/alloca.h0
-rw-r--r--mdk-stage1/dietlibc/include/arpa/inet.h19
-rw-r--r--mdk-stage1/dietlibc/include/arpa/nameser.h217
-rw-r--r--mdk-stage1/dietlibc/include/assert.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/dirent.h26
-rw-r--r--mdk-stage1/dietlibc/include/dlfcn.h15
-rw-r--r--mdk-stage1/dietlibc/include/elf.h1
-rw-r--r--mdk-stage1/dietlibc/include/endian.h43
-rw-r--r--mdk-stage1/dietlibc/include/errno.h11
-rw-r--r--mdk-stage1/dietlibc/include/fcntl.h24
-rw-r--r--mdk-stage1/dietlibc/include/features.h3
-rw-r--r--mdk-stage1/dietlibc/include/fnmatch.h15
-rw-r--r--mdk-stage1/dietlibc/include/ftw.h51
-rw-r--r--mdk-stage1/dietlibc/include/getopt.h32
-rw-r--r--mdk-stage1/dietlibc/include/glob.h55
-rw-r--r--mdk-stage1/dietlibc/include/grp.h25
-rw-r--r--mdk-stage1/dietlibc/include/inttypes.h0
-rw-r--r--mdk-stage1/dietlibc/include/limits.h48
-rw-r--r--mdk-stage1/dietlibc/include/locale.h6
-rw-r--r--mdk-stage1/dietlibc/include/malloc.h1
-rw-r--r--mdk-stage1/dietlibc/include/math.h61
-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/if.h11
-rw-r--r--mdk-stage1/dietlibc/include/net/if_arp.h6
-rw-r--r--mdk-stage1/dietlibc/include/net/route.h6
-rw-r--r--mdk-stage1/dietlibc/include/netdb.h90
-rw-r--r--mdk-stage1/dietlibc/include/netinet/in.h9
-rw-r--r--mdk-stage1/dietlibc/include/netinet/in_systm.h0
-rw-r--r--mdk-stage1/dietlibc/include/netinet/ip.h6
-rw-r--r--mdk-stage1/dietlibc/include/paths.h16
-rw-r--r--mdk-stage1/dietlibc/include/pthread.h227
-rw-r--r--mdk-stage1/dietlibc/include/pwd.h24
-rw-r--r--mdk-stage1/dietlibc/include/regex.h67
-rw-r--r--mdk-stage1/dietlibc/include/resolv.h1
-rw-r--r--mdk-stage1/dietlibc/include/rpc/auth.h213
-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.h72
-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.h78
-rw-r--r--mdk-stage1/dietlibc/include/rpc/xdr.h379
-rw-r--r--mdk-stage1/dietlibc/include/sched.h74
-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.h123
-rw-r--r--mdk-stage1/dietlibc/include/shadow.h24
-rw-r--r--mdk-stage1/dietlibc/include/signal.h35
-rw-r--r--mdk-stage1/dietlibc/include/stdint.h6
-rw-r--r--mdk-stage1/dietlibc/include/stdio.h97
-rw-r--r--mdk-stage1/dietlibc/include/stdlib.h67
-rw-r--r--mdk-stage1/dietlibc/include/string.h57
-rw-r--r--mdk-stage1/dietlibc/include/strings.h2
-rw-r--r--mdk-stage1/dietlibc/include/sys/cdefs.h36
-rw-r--r--mdk-stage1/dietlibc/include/sys/file.h19
-rw-r--r--mdk-stage1/dietlibc/include/sys/io.h41
-rw-r--r--mdk-stage1/dietlibc/include/sys/ioctl.h10
-rw-r--r--mdk-stage1/dietlibc/include/sys/ipc.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/kd.h6
-rw-r--r--mdk-stage1/dietlibc/include/sys/mman.h33
-rw-r--r--mdk-stage1/dietlibc/include/sys/mount.h19
-rw-r--r--mdk-stage1/dietlibc/include/sys/msg.h13
-rw-r--r--mdk-stage1/dietlibc/include/sys/mtio.h6
-rw-r--r--mdk-stage1/dietlibc/include/sys/param.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/poll.h11
-rw-r--r--mdk-stage1/dietlibc/include/sys/ptrace.h10
-rw-r--r--mdk-stage1/dietlibc/include/sys/reboot.h9
-rw-r--r--mdk-stage1/dietlibc/include/sys/resource.h16
-rw-r--r--mdk-stage1/dietlibc/include/sys/select.h0
-rw-r--r--mdk-stage1/dietlibc/include/sys/sem.h11
-rw-r--r--mdk-stage1/dietlibc/include/sys/sendfile.h9
-rw-r--r--mdk-stage1/dietlibc/include/sys/shm.h17
-rw-r--r--mdk-stage1/dietlibc/include/sys/signal.h1
-rw-r--r--mdk-stage1/dietlibc/include/sys/socket.h46
-rw-r--r--mdk-stage1/dietlibc/include/sys/stat.h52
-rw-r--r--mdk-stage1/dietlibc/include/sys/syscall.h6
-rw-r--r--mdk-stage1/dietlibc/include/sys/sysinfo.h9
-rw-r--r--mdk-stage1/dietlibc/include/sys/syslog.h102
-rw-r--r--mdk-stage1/dietlibc/include/sys/time.h46
-rw-r--r--mdk-stage1/dietlibc/include/sys/times.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/types.h33
-rw-r--r--mdk-stage1/dietlibc/include/sys/uio.h9
-rw-r--r--mdk-stage1/dietlibc/include/sys/un.h8
-rw-r--r--mdk-stage1/dietlibc/include/sys/utsname.h35
-rw-r--r--mdk-stage1/dietlibc/include/sys/vfs.h11
-rw-r--r--mdk-stage1/dietlibc/include/sys/wait.h37
-rw-r--r--mdk-stage1/dietlibc/include/syslog.h1
-rw-r--r--mdk-stage1/dietlibc/include/termios.h22
-rw-r--r--mdk-stage1/dietlibc/include/time.h24
-rw-r--r--mdk-stage1/dietlibc/include/unistd.h168
-rw-r--r--mdk-stage1/dietlibc/include/utime.h16
-rw-r--r--mdk-stage1/dietlibc/include/utmp.h73
-rw-r--r--mdk-stage1/dietlibc/lib/__dtostr.c104
-rw-r--r--mdk-stage1/dietlibc/lib/__fstat64.c25
-rw-r--r--mdk-stage1/dietlibc/lib/__getcwd.c10
-rw-r--r--mdk-stage1/dietlibc/lib/__isnan.c14
-rw-r--r--mdk-stage1/dietlibc/lib/__lltostr.c31
-rw-r--r--mdk-stage1/dietlibc/lib/__lstat64.c25
-rw-r--r--mdk-stage1/dietlibc/lib/__ltostr.c31
-rw-r--r--mdk-stage1/dietlibc/lib/__stat64.c25
-rw-r--r--mdk-stage1/dietlibc/lib/__stat64_cvt.c18
-rw-r--r--mdk-stage1/dietlibc/lib/__xmknod.c6
-rw-r--r--mdk-stage1/dietlibc/lib/_brk.c14
-rw-r--r--mdk-stage1/dietlibc/lib/abort.c13
-rw-r--r--mdk-stage1/dietlibc/lib/abs.c6
-rw-r--r--mdk-stage1/dietlibc/lib/accept.c14
-rw-r--r--mdk-stage1/dietlibc/lib/alarm.c47
-rw-r--r--mdk-stage1/dietlibc/lib/alloc.c243
-rw-r--r--mdk-stage1/dietlibc/lib/assert_fail.c30
-rw-r--r--mdk-stage1/dietlibc/lib/atexit.c23
-rw-r--r--mdk-stage1/dietlibc/lib/atof.c10
-rw-r--r--mdk-stage1/dietlibc/lib/atoi.c8
-rw-r--r--mdk-stage1/dietlibc/lib/atol.c8
-rw-r--r--mdk-stage1/dietlibc/lib/bind.c12
-rw-r--r--mdk-stage1/dietlibc/lib/bsearch.c20
-rw-r--r--mdk-stage1/dietlibc/lib/cfmakeraw.c14
-rw-r--r--mdk-stage1/dietlibc/lib/closedir.c10
-rw-r--r--mdk-stage1/dietlibc/lib/connect.c14
-rw-r--r--mdk-stage1/dietlibc/lib/creat.c5
-rw-r--r--mdk-stage1/dietlibc/lib/creat64.c9
-rw-r--r--mdk-stage1/dietlibc/lib/errlist.c132
-rw-r--r--mdk-stage1/dietlibc/lib/errno_location.c5
-rw-r--r--mdk-stage1/dietlibc/lib/exec_lib.c20
-rw-r--r--mdk-stage1/dietlibc/lib/exec_lib.h9
-rw-r--r--mdk-stage1/dietlibc/lib/execl.c24
-rw-r--r--mdk-stage1/dietlibc/lib/execlp.c26
-rw-r--r--mdk-stage1/dietlibc/lib/execv.c13
-rw-r--r--mdk-stage1/dietlibc/lib/execvp.c38
-rw-r--r--mdk-stage1/dietlibc/lib/ftw.c52
-rw-r--r--mdk-stage1/dietlibc/lib/getdomainname.c17
-rw-r--r--mdk-stage1/dietlibc/lib/getenv.c17
-rw-r--r--mdk-stage1/dietlibc/lib/gethostname.c18
-rw-r--r--mdk-stage1/dietlibc/lib/getopt.c118
-rw-r--r--mdk-stage1/dietlibc/lib/getpeername.c13
-rw-r--r--mdk-stage1/dietlibc/lib/getpgrp.c6
-rw-r--r--mdk-stage1/dietlibc/lib/getservent.c137
-rw-r--r--mdk-stage1/dietlibc/lib/getsockname.c13
-rw-r--r--mdk-stage1/dietlibc/lib/getsockopt.c13
-rw-r--r--mdk-stage1/dietlibc/lib/htonl.c12
-rw-r--r--mdk-stage1/dietlibc/lib/htons.c11
-rw-r--r--mdk-stage1/dietlibc/lib/if_indextoname.c29
-rw-r--r--mdk-stage1/dietlibc/lib/if_nametoindex.c27
-rw-r--r--mdk-stage1/dietlibc/lib/isalnum.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isalpha.c7
-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.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isdigit.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isgraph.c5
-rw-r--r--mdk-stage1/dietlibc/lib/islower.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isprint.c6
-rw-r--r--mdk-stage1/dietlibc/lib/ispunct.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isspace.c8
-rw-r--r--mdk-stage1/dietlibc/lib/isupper.c7
-rw-r--r--mdk-stage1/dietlibc/lib/isxdigit.c5
-rw-r--r--mdk-stage1/dietlibc/lib/listen.c13
-rw-r--r--mdk-stage1/dietlibc/lib/lockf.c37
-rw-r--r--mdk-stage1/dietlibc/lib/longjmp.c51
-rw-r--r--mdk-stage1/dietlibc/lib/lseek64.c22
-rw-r--r--mdk-stage1/dietlibc/lib/memccmp.c17
-rw-r--r--mdk-stage1/dietlibc/lib/memccpy.c19
-rw-r--r--mdk-stage1/dietlibc/lib/memchr.c9
-rw-r--r--mdk-stage1/dietlibc/lib/memcmp.c16
-rw-r--r--mdk-stage1/dietlibc/lib/memcpy.c12
-rw-r--r--mdk-stage1/dietlibc/lib/memmove.c23
-rw-r--r--mdk-stage1/dietlibc/lib/memset.c9
-rw-r--r--mdk-stage1/dietlibc/lib/mkfifo.c6
-rw-r--r--mdk-stage1/dietlibc/lib/msgctl.c10
-rw-r--r--mdk-stage1/dietlibc/lib/msgget.c10
-rw-r--r--mdk-stage1/dietlibc/lib/msgrcv.c13
-rw-r--r--mdk-stage1/dietlibc/lib/msgsnd.c10
-rw-r--r--mdk-stage1/dietlibc/lib/nop.c7
-rw-r--r--mdk-stage1/dietlibc/lib/open64.c14
-rw-r--r--mdk-stage1/dietlibc/lib/opendir.c18
-rw-r--r--mdk-stage1/dietlibc/lib/perror.c22
-rw-r--r--mdk-stage1/dietlibc/lib/pread.c10
-rw-r--r--mdk-stage1/dietlibc/lib/pread64.c13
-rw-r--r--mdk-stage1/dietlibc/lib/putenv.c37
-rw-r--r--mdk-stage1/dietlibc/lib/puts.c12
-rw-r--r--mdk-stage1/dietlibc/lib/qsort.c125
-rw-r--r--mdk-stage1/dietlibc/lib/raise.c8
-rw-r--r--mdk-stage1/dietlibc/lib/rand.c9
-rw-r--r--mdk-stage1/dietlibc/lib/random.c9
-rw-r--r--mdk-stage1/dietlibc/lib/readdir.c13
-rw-r--r--mdk-stage1/dietlibc/lib/reboot.c8
-rw-r--r--mdk-stage1/dietlibc/lib/recv.c15
-rw-r--r--mdk-stage1/dietlibc/lib/recvfrom.c15
-rw-r--r--mdk-stage1/dietlibc/lib/recvmsg.c15
-rw-r--r--mdk-stage1/dietlibc/lib/remove.c11
-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.c20
-rw-r--r--mdk-stage1/dietlibc/lib/seekdir.c8
-rw-r--r--mdk-stage1/dietlibc/lib/semctl.c10
-rw-r--r--mdk-stage1/dietlibc/lib/semget.c10
-rw-r--r--mdk-stage1/dietlibc/lib/semop.c10
-rw-r--r--mdk-stage1/dietlibc/lib/send.c15
-rw-r--r--mdk-stage1/dietlibc/lib/sendmsg.c15
-rw-r--r--mdk-stage1/dietlibc/lib/sendto.c15
-rw-r--r--mdk-stage1/dietlibc/lib/set_errno.c9
-rw-r--r--mdk-stage1/dietlibc/lib/setpgrp.c6
-rw-r--r--mdk-stage1/dietlibc/lib/setsockopt.c13
-rw-r--r--mdk-stage1/dietlibc/lib/shmat.c15
-rw-r--r--mdk-stage1/dietlibc/lib/shmctl.c10
-rw-r--r--mdk-stage1/dietlibc/lib/shmdt.c10
-rw-r--r--mdk-stage1/dietlibc/lib/shmget.c10
-rw-r--r--mdk-stage1/dietlibc/lib/shutdown.c14
-rw-r--r--mdk-stage1/dietlibc/lib/sigaddset.c15
-rw-r--r--mdk-stage1/dietlibc/lib/sigdelset.c15
-rw-r--r--mdk-stage1/dietlibc/lib/sigemptyset.c14
-rw-r--r--mdk-stage1/dietlibc/lib/sigfillset.c11
-rw-r--r--mdk-stage1/dietlibc/lib/sigismember.c21
-rw-r--r--mdk-stage1/dietlibc/lib/sigjmp.c35
-rw-r--r--mdk-stage1/dietlibc/lib/sleep.c11
-rw-r--r--mdk-stage1/dietlibc/lib/snprintf.c14
-rw-r--r--mdk-stage1/dietlibc/lib/socket.c12
-rw-r--r--mdk-stage1/dietlibc/lib/speed.c67
-rw-r--r--mdk-stage1/dietlibc/lib/sprintf.c18
-rw-r--r--mdk-stage1/dietlibc/lib/sscanf.c13
-rw-r--r--mdk-stage1/dietlibc/lib/strcasecmp.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strcat.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strchr.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strcmp.c16
-rw-r--r--mdk-stage1/dietlibc/lib/strcpy.c15
-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.c10
-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.c18
-rw-r--r--mdk-stage1/dietlibc/lib/strncat.c31
-rw-r--r--mdk-stage1/dietlibc/lib/strncmp.c6
-rw-r--r--mdk-stage1/dietlibc/lib/strncpy.c10
-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.c16
-rw-r--r--mdk-stage1/dietlibc/lib/strspn.c17
-rw-r--r--mdk-stage1/dietlibc/lib/strstr.c15
-rw-r--r--mdk-stage1/dietlibc/lib/strtod.c52
-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.c15
-rw-r--r--mdk-stage1/dietlibc/lib/strtoll.c15
-rw-r--r--mdk-stage1/dietlibc/lib/strtoul.c32
-rw-r--r--mdk-stage1/dietlibc/lib/strtoull.c30
-rw-r--r--mdk-stage1/dietlibc/lib/sys_siglist.c37
-rw-r--r--mdk-stage1/dietlibc/lib/tcdrain.c8
-rw-r--r--mdk-stage1/dietlibc/lib/tcflush.c23
-rw-r--r--mdk-stage1/dietlibc/lib/tcgetattr.c7
-rw-r--r--mdk-stage1/dietlibc/lib/tcgetpgrp.c7
-rw-r--r--mdk-stage1/dietlibc/lib/tcsetattr.c27
-rw-r--r--mdk-stage1/dietlibc/lib/tcsetpgrp.c7
-rw-r--r--mdk-stage1/dietlibc/lib/telldir.c7
-rw-r--r--mdk-stage1/dietlibc/lib/tolower.c6
-rw-r--r--mdk-stage1/dietlibc/lib/toupper.c6
-rw-r--r--mdk-stage1/dietlibc/lib/ttyname.c59
-rw-r--r--mdk-stage1/dietlibc/lib/usleep.c12
-rw-r--r--mdk-stage1/dietlibc/lib/vfork.c6
-rw-r--r--mdk-stage1/dietlibc/lib/vfprintf.c19
-rw-r--r--mdk-stage1/dietlibc/lib/vprintf.c14
-rw-r--r--mdk-stage1/dietlibc/lib/vsnprintf.c238
-rw-r--r--mdk-stage1/dietlibc/lib/vsprintf.c10
-rw-r--r--mdk-stage1/dietlibc/lib/vsscanf.c304
-rw-r--r--mdk-stage1/dietlibc/lib/wait.c6
-rw-r--r--mdk-stage1/dietlibc/lib/wait3.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/___div.c11
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft.c115
-rw-r--r--mdk-stage1/dietlibc/libcruft/dnscruft2.c185
-rw-r--r--mdk-stage1/dietlibc/libcruft/entlib.c153
-rw-r--r--mdk-stage1/dietlibc/libcruft/entlib.h44
-rw-r--r--mdk-stage1/dietlibc/libcruft/getdtablesize.c6
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrgid.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getgrnam.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyaddr.c38
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c51
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname.c39
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname2.c40
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c36
-rw-r--r--mdk-stage1/dietlibc/libcruft/gethostbyname_r.c30
-rw-r--r--mdk-stage1/dietlibc/libcruft/getlogin.c5
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpagesize.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpass.c40
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwnam.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getpwuid.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/getspnam.c14
-rw-r--r--mdk-stage1/dietlibc/libcruft/grent.c54
-rw-r--r--mdk-stage1/dietlibc/libcruft/h_errno.c1
-rw-r--r--mdk-stage1/dietlibc/libcruft/herrno_location.c5
-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.c10
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_ntoa_r.c22
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_ntop.c75
-rw-r--r--mdk-stage1/dietlibc/libcruft/inet_pton.c97
-rw-r--r--mdk-stage1/dietlibc/libcruft/initgroups.c23
-rw-r--r--mdk-stage1/dietlibc/libcruft/mkstemp.c23
-rw-r--r--mdk-stage1/dietlibc/libcruft/pwent.c43
-rw-r--r--mdk-stage1/dietlibc/libcruft/res_init.c7
-rw-r--r--mdk-stage1/dietlibc/libcruft/spent.c45
-rw-r--r--mdk-stage1/dietlibc/libcrypt/crypt.c309
-rw-r--r--mdk-stage1/dietlibc/libdl/Makefile24
-rw-r--r--mdk-stage1/dietlibc/libdl/README6
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_int.h31
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_jump.S8
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_open.c207
-rw-r--r--mdk-stage1/dietlibc/libdl/_dl_search.c84
-rw-r--r--mdk-stage1/dietlibc/libdl/dlclose.c14
-rw-r--r--mdk-stage1/dietlibc/libdl/dlerror.c4
-rw-r--r--mdk-stage1/dietlibc/libdl/dlopen.c21
-rw-r--r--mdk-stage1/dietlibc/libdl/dlsym.c7
-rw-r--r--mdk-stage1/dietlibc/libdl/elf_hash.c12
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c5
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c4
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-islower.c5
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isprint.c4
-rw-r--r--mdk-stage1/dietlibc/liblatin1/latin1-isupper.c5
-rw-r--r--mdk-stage1/dietlibc/libpthread/CHANGES45
-rw-r--r--mdk-stage1/dietlibc/libpthread/Makefile139
-rw-r--r--mdk-stage1/dietlibc/libpthread/README42
-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.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c23
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c25
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setstackaddr.c13
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cancel.c35
-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.c23
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c19
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_init.c14
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c24
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c43
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c37
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_condattr.c15
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_create.c76
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_detach.c36
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_exit.c17
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_getspecific.c20
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_join.c50
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_key_create.c35
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_key_delete.c21
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c16
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c18
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.c33
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c36
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c34
-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.c18
-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.c25
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c25
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_setspecific.c21
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_spinlock.c38
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c26
-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.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_fsync.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c31
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_nanosleep.c11
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_open.c12
-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.c10
-rw-r--r--mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c10
-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.c344
-rw-r--r--mdk-stage1/dietlibc/libpthread/thread_internal.h131
-rw-r--r--mdk-stage1/dietlibc/libpthread/thread_key.c41
-rw-r--r--mdk-stage1/dietlibc/libregex/rx.c434
-rw-r--r--mdk-stage1/dietlibc/librpc/auth_none.c128
-rw-r--r--mdk-stage1/dietlibc/librpc/auth_unix.c313
-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.c230
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_simple.c116
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_tcp.c463
-rw-r--r--mdk-stage1/dietlibc/librpc/clnt_udp.c437
-rw-r--r--mdk-stage1/dietlibc/librpc/get_myaddress.c69
-rw-r--r--mdk-stage1/dietlibc/librpc/getrpcent.c274
-rw-r--r--mdk-stage1/dietlibc/librpc/getrpcport.c57
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_clnt.c118
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_getmaps.c85
-rw-r--r--mdk-stage1/dietlibc/librpc/pmap_getport.c90
-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.c403
-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.c479
-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.c159
-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.c406
-rw-r--r--mdk-stage1/dietlibc/librpc/svc_udp.c467
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr.c536
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_array.c152
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_float.c284
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_mem.c180
-rw-r--r--mdk-stage1/dietlibc/librpc/xdr_rec.c573
-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/fnmatch.c74
-rw-r--r--mdk-stage1/dietlibc/libshell/glob.c350
-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.c24
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdglue.c52
-rw-r--r--mdk-stage1/dietlibc/libstdio/fdopen.c21
-rw-r--r--mdk-stage1/dietlibc/libstdio/feof.c9
-rw-r--r--mdk-stage1/dietlibc/libstdio/ferror.c5
-rw-r--r--mdk-stage1/dietlibc/libstdio/fflush.c62
-rw-r--r--mdk-stage1/dietlibc/libstdio/fgetc.c40
-rw-r--r--mdk-stage1/dietlibc/libstdio/fgets.c20
-rw-r--r--mdk-stage1/dietlibc/libstdio/fileno.c5
-rw-r--r--mdk-stage1/dietlibc/libstdio/fopen.c21
-rw-r--r--mdk-stage1/dietlibc/libstdio/fprintf.c23
-rw-r--r--mdk-stage1/dietlibc/libstdio/fputc.c19
-rw-r--r--mdk-stage1/dietlibc/libstdio/fputs.c6
-rw-r--r--mdk-stage1/dietlibc/libstdio/fread.c51
-rw-r--r--mdk-stage1/dietlibc/libstdio/freopen.c9
-rw-r--r--mdk-stage1/dietlibc/libstdio/fseek.c11
-rw-r--r--mdk-stage1/dietlibc/libstdio/ftell.c7
-rw-r--r--mdk-stage1/dietlibc/libstdio/fwrite.c30
-rw-r--r--mdk-stage1/dietlibc/libstdio/printf.c29
-rw-r--r--mdk-stage1/dietlibc/libstdio/putchar.c6
-rw-r--r--mdk-stage1/dietlibc/libstdio/setvbuf.c18
-rw-r--r--mdk-stage1/dietlibc/libstdio/stderr.c13
-rw-r--r--mdk-stage1/dietlibc/libstdio/stdin.c13
-rw-r--r--mdk-stage1/dietlibc/libstdio/stdout.c14
-rw-r--r--mdk-stage1/dietlibc/libstdio/ungetc.c11
-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.c22
-rw-r--r--mdk-stage1/dietlibc/libugly/ctime.c5
-rw-r--r--mdk-stage1/dietlibc/libugly/daemon.c35
-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/getmntent.c30
-rw-r--r--mdk-stage1/dietlibc/libugly/getprotoent.c130
-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/isleap.c6
-rw-r--r--mdk-stage1/dietlibc/libugly/localtime.c6
-rw-r--r--mdk-stage1/dietlibc/libugly/localtime_r.c21
-rw-r--r--mdk-stage1/dietlibc/libugly/logging.c211
-rw-r--r--mdk-stage1/dietlibc/libugly/mktime.c21
-rw-r--r--mdk-stage1/dietlibc/libugly/pclose.c11
-rw-r--r--mdk-stage1/dietlibc/libugly/popen.c32
-rw-r--r--mdk-stage1/dietlibc/libugly/prioritynames.c22
-rw-r--r--mdk-stage1/dietlibc/libugly/setenv.c17
-rw-r--r--mdk-stage1/dietlibc/libugly/setmntent.c7
-rw-r--r--mdk-stage1/dietlibc/libugly/strftime.c182
-rw-r--r--mdk-stage1/dietlibc/libugly/strsignal.c92
-rw-r--r--mdk-stage1/dietlibc/libugly/system.c69
-rw-r--r--mdk-stage1/dietlibc/libugly/time_table_spd.c17
-rw-r--r--mdk-stage1/dietlibc/libugly/tzfile.c86
-rw-r--r--mdk-stage1/dietlibc/libugly/unsetenv.c6
-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.S11
-rw-r--r--mdk-stage1/dietlibc/ppc/mmap.c37
-rw-r--r--mdk-stage1/dietlibc/ppc/setjmp.S56
-rw-r--r--mdk-stage1/dietlibc/ppc/start.S44
-rw-r--r--mdk-stage1/dietlibc/ppc/unified.S21
-rw-r--r--mdk-stage1/dietlibc/sparc/Makefile.add3
-rw-r--r--mdk-stage1/dietlibc/sparc/__longjmp.S67
-rw-r--r--mdk-stage1/dietlibc/sparc/__testandset.S6
-rw-r--r--mdk-stage1/dietlibc/sparc/clone.S45
-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.S37
-rw-r--r--mdk-stage1/dietlibc/sparc/shmat.c19
-rw-r--r--mdk-stage1/dietlibc/sparc/start.S46
-rw-r--r--mdk-stage1/dietlibc/sparc/udiv.S363
-rw-r--r--mdk-stage1/dietlibc/sparc/umul.S170
-rw-r--r--mdk-stage1/dietlibc/sparc/unified.S28
-rw-r--r--mdk-stage1/dietlibc/sparc/urem.S362
-rw-r--r--mdk-stage1/dietlibc/start.h14
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/_llseek.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/_newselect.c6
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/access.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/chdir.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/chmod.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/chown.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/chroot.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/clone.c1
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/close.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/dup.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/dup2.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/execve.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/exit.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fchdir.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fchmod.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fchown.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fcntl.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/flock.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fork.c6
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/fsync.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/ftruncate.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getcwd.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getdents.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getegid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/geteuid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getgid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getgroups.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getpgid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getpid.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getppid.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getpriority.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getresgid.c8
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getresuid.c8
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getrlimit.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getrusage.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getsid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/gettimeofday.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/getuid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/ioctl.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/kill.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/lchown.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/link.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/lseek.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/mkdir.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/mknod.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/mount.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/mprotect.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/mremap.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/munmap.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/nanosleep.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/open.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/pipe.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/poll.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/read.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/readlink.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/reboot.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/rename.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/rmdir.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setdomainname.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setgid.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setgroups.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sethostname.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setitimer.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setpgid.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setpriority.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setregid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setresgid.c8
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setresuid.c8
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setreuid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setrlimit.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setsid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/setuid.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sigaction.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/signal.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sigpending.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sigprocmask.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sigsuspend.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/socketcall.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/swapoff.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/swapon.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/symlink.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/sync.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/syslog.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/time.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/truncate.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/umask.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/umount.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/uname.c5
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/unlink.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/utime.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/vhangup.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/wait4.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/waitpid.c4
-rw-r--r--mdk-stage1/dietlibc/syscalls.c/write.c3
-rw-r--r--mdk-stage1/dietlibc/syscalls.h142
-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/__reboot.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/_llseek.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/access.S3
-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/chroot.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/close.S3
-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/execve.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/exit.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/fcntl.S3
-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.S8
-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/getcwd.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getdents.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getdents64.S5
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getegid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/geteuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/getgroups.S3
-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/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/ioctl.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ioperm.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/iopl.S6
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ipc.S3
-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/link.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/llseek.S6
-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.S8
-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/mlockall.S3
-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/munlockall.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/munmap.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/nanosleep.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/nice.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/open.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pause.S3
-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/poll.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/ptrace.s3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/pwrite.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/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/setdomainname.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setgid.S3
-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/setresgid.S7
-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/setrlimit.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setsid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/setuid.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigaction.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigaltstack.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/signal.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigpending.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigprocmask.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/sigsuspend.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/socketcall.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stat.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stat64.S8
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/statfs.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/stime.S3
-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.S3
-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/umask.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/umount.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/umount2.S3
-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.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/write.S3
-rw-r--r--mdk-stage1/dietlibc/syscalls.s/writev.S3
-rw-r--r--mdk-stage1/directory.c169
-rw-r--r--mdk-stage1/directory.h29
-rw-r--r--mdk-stage1/disk.c284
-rw-r--r--mdk-stage1/disk.h4
-rw-r--r--mdk-stage1/dns.c213
-rw-r--r--mdk-stage1/dns.h4
-rw-r--r--mdk-stage1/doc/README18
-rw-r--r--mdk-stage1/doc/TECH-INFOS32
-rw-r--r--mdk-stage1/doc/UPDATEMODULES73
-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.h24
-rw-r--r--mdk-stage1/init-data/emptyboot.img.bz2bin6342 -> 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.bz2bin27536 -> 0 bytes
-rw-r--r--mdk-stage1/init-data/msgboot.img.bz2bin30858 -> 0 bytes
-rw-r--r--mdk-stage1/init-libc-headers.h44
-rw-r--r--mdk-stage1/init.c415
-rw-r--r--mdk-stage1/insmod-busybox/.cvsignore2
-rw-r--r--mdk-stage1/insmod-busybox/Config.h132
-rw-r--r--mdk-stage1/insmod-busybox/Makefile65
-rw-r--r--mdk-stage1/insmod-busybox/README8
-rw-r--r--mdk-stage1/insmod-busybox/busybox.h467
-rw-r--r--mdk-stage1/insmod-busybox/insmod-frontend.c24
-rw-r--r--mdk-stage1/insmod-busybox/insmod.c2951
-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/Makefile63
-rw-r--r--mdk-stage1/insmod-modutils/include/config.h105
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_alpha.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_arm.h10
-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.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_ia64.h9
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_m68k.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_mips.h24
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_ppc.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_s390.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_sparc.h10
-rw-r--r--mdk-stage1/insmod-modutils/include/elf_sparc64.h27
-rw-r--r--mdk-stage1/insmod-modutils/include/kallsyms.h131
-rw-r--r--mdk-stage1/insmod-modutils/include/kerneld.h46
-rw-r--r--mdk-stage1/insmod-modutils/include/modstat.h55
-rw-r--r--mdk-stage1/insmod-modutils/include/module.h210
-rw-r--r--mdk-stage1/insmod-modutils/include/obj.h275
-rw-r--r--mdk-stage1/insmod-modutils/include/util.h101
-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.c1964
-rw-r--r--mdk-stage1/insmod-modutils/obj/Makefile33
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_alpha.c305
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_arm.c318
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_common.c399
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_hppa.c668
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_hppa64.c686
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_i386.c245
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_ia64.c1065
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_kallsyms.c292
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_load.c354
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_m68k.c147
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_mips.c238
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_ppc.c255
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_reloc.c435
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_s390.c245
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_sparc.c226
-rw-r--r--mdk-stage1/insmod-modutils/obj/obj_sparc64.c352
-rw-r--r--mdk-stage1/insmod-modutils/util/Makefile42
-rw-r--r--mdk-stage1/insmod-modutils/util/alias.h244
-rw-r--r--mdk-stage1/insmod-modutils/util/arch64.c35
-rw-r--r--mdk-stage1/insmod-modutils/util/config.c1591
-rw-r--r--mdk-stage1/insmod-modutils/util/gzfiles.c74
-rw-r--r--mdk-stage1/insmod-modutils/util/logger.c163
-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.c88
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_dm.c37
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_gks.c37
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_nim.c53
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_oim.c40
-rw-r--r--mdk-stage1/insmod-modutils/util/sys_qm.c56
-rw-r--r--mdk-stage1/insmod-modutils/util/xftw.c422
-rw-r--r--mdk-stage1/insmod-modutils/util/xmalloc.c39
-rw-r--r--mdk-stage1/insmod-modutils/util/xrealloc.c39
-rw-r--r--mdk-stage1/insmod-modutils/util/xstrcat.c40
-rw-r--r--mdk-stage1/insmod-modutils/util/xstrdup.c41
-rw-r--r--mdk-stage1/insmod-modutils/util/xsystem.c51
-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.c41
-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/Makefile61
-rw-r--r--mdk-stage1/mar/mar-extract-only.c207
-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.c251
-rw-r--r--mdk-stage1/minilibc.h144
-rw-r--r--mdk-stage1/mkinitrd_helper/Makefile46
-rw-r--r--mdk-stage1/mkinitrd_helper/mkinitrd_helper.c308
-rw-r--r--mdk-stage1/modules.c519
-rw-r--r--mdk-stage1/modules.h16
-rw-r--r--mdk-stage1/modules_descr.h66
-rw-r--r--mdk-stage1/mount.c109
-rw-r--r--mdk-stage1/mount.h9
-rw-r--r--mdk-stage1/mount_rpcgen.h208
-rw-r--r--mdk-stage1/network.c649
-rw-r--r--mdk-stage1/network.h11
-rw-r--r--mdk-stage1/newt-frontend.c101
-rw-r--r--mdk-stage1/newt/Makefile56
-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.c712
-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.pl65
-rw-r--r--mdk-stage1/pcmcia/Makefile38
-rw-r--r--mdk-stage1/pcmcia/bulkmem.h6
-rw-r--r--mdk-stage1/pcmcia/cardmgr.c805
-rw-r--r--mdk-stage1/pcmcia/cardmgr.h107
-rw-r--r--mdk-stage1/pcmcia/cirrus.h31
-rw-r--r--mdk-stage1/pcmcia/cistpl.h6
-rw-r--r--mdk-stage1/pcmcia/config.h59
-rw-r--r--mdk-stage1/pcmcia/cs.h45
-rw-r--r--mdk-stage1/pcmcia/cs_types.h13
-rw-r--r--mdk-stage1/pcmcia/driver_ops.h15
-rw-r--r--mdk-stage1/pcmcia/ds.h25
-rw-r--r--mdk-stage1/pcmcia/i82365.h27
-rw-r--r--mdk-stage1/pcmcia/lex_config.c2008
-rw-r--r--mdk-stage1/pcmcia/lex_config.l224
-rwxr-xr-xmdk-stage1/pcmcia/merge_from_pcitable37
-rw-r--r--mdk-stage1/pcmcia/pcmcia.h6
-rw-r--r--mdk-stage1/pcmcia/pcmcia_probe.c405
-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.h6
-rw-r--r--mdk-stage1/pcmcia/version.h6
-rw-r--r--mdk-stage1/pcmcia/vg468.h12
-rw-r--r--mdk-stage1/pcmcia/yacc_config.c1017
-rw-r--r--mdk-stage1/pcmcia/yacc_config.h37
-rw-r--r--mdk-stage1/pcmcia/yacc_config.y133
-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/Makefile59
-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.c1011
-rw-r--r--mdk-stage1/probing.h39
-rw-r--r--mdk-stage1/rescue-gui.c301
-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/Makefile58
-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/Makefile56
-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.c284
-rw-r--r--mdk-stage1/stage1.h26
-rw-r--r--mdk-stage1/stdio-frontend.c59
-rw-r--r--mdk-stage1/thirdparty.c460
-rw-r--r--mdk-stage1/thirdparty.h35
-rw-r--r--mdk-stage1/tools.c515
-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.c130
-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.pl73
-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_checker6
-rw-r--r--perl-install/ChangeLog15650
-rw-r--r--perl-install/Makefile225
-rw-r--r--perl-install/Makefile.config31
-rw-r--r--perl-install/Makefile.drakxtools106
-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.pm16
-rw-r--r--perl-install/Newt/Newt.xs478
-rw-r--r--perl-install/Newt/typemap25
-rw-r--r--perl-install/PORTING4
-rw-r--r--perl-install/Xconfig.pm216
-rw-r--r--perl-install/Xconfigurator.pm1485
-rw-r--r--perl-install/Xconfigurator_consts.pm858
-rw-r--r--perl-install/any.pm2548
-rw-r--r--perl-install/authentication.pm983
-rw-r--r--perl-install/bootloader.pm3412
-rw-r--r--perl-install/bootlook.pm340
-rw-r--r--perl-install/c.pm43
-rw-r--r--perl-install/c/.cvsignore9
-rw-r--r--perl-install/c/Makefile13
-rwxr-xr-x[-rw-r--r--]perl-install/c/Makefile.PL14
-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-test.c6
-rw-r--r--perl-install/c/smp.c506
-rw-r--r--perl-install/c/smp.h6
-rw-r--r--perl-install/c/stuff.pm25
-rwxr-xr-xperl-install/c/stuff.xs.pl857
-rw-r--r--perl-install/c/stuff.xs.pm1060
-rw-r--r--perl-install/class_discard.pm11
-rwxr-xr-xperl-install/commands15
-rw-r--r--perl-install/commands.pm599
-rw-r--r--perl-install/common.pm775
-rw-r--r--perl-install/cpufreq.pm170
-rw-r--r--perl-install/crypto.pm71
-rw-r--r--perl-install/dbus_object.pm72
-rw-r--r--perl-install/detect_devices.pm1859
-rw-r--r--perl-install/devices.pm226
-rw-r--r--perl-install/diskdrake/dav.pm130
-rw-r--r--perl-install/diskdrake/hd_gtk.pm516
-rw-r--r--perl-install/diskdrake/interactive.pm1575
-rw-r--r--perl-install/diskdrake/removable.pm52
-rw-r--r--perl-install/diskdrake/resize_ext2.pm37
-rw-r--r--perl-install/diskdrake/resize_ntfs.pm36
-rw-r--r--perl-install/diskdrake/smbnfs_gtk.pm271
-rw-r--r--perl-install/do_pkgs.pm404
-rwxr-xr-xperl-install/do_resize_fat18
-rw-r--r--perl-install/drakbug.pm45
-rw-r--r--perl-install/fs.pm812
-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.pm1012
-rw-r--r--perl-install/ftp.pm84
-rwxr-xr-xperl-install/g_auto_install12
-rwxr-xr-xperl-install/getpkgs_deps10
-rw-r--r--perl-install/handle_configs.pm159
-rw-r--r--perl-install/harddrake/autoconf.pm155
-rwxr-xr-xperl-install/harddrake/check_snd.pl20
-rw-r--r--perl-install/harddrake/data.pm578
-rw-r--r--perl-install/harddrake/sound.pm668
-rw-r--r--perl-install/harddrake/v4l.pm496
-rw-r--r--perl-install/help.pm734
-rw-r--r--perl-install/http.pm41
-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.xsl5
-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.pngbin0 -> 691 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-am.pngbin0 -> 658 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-ar.pngbin0 -> 576 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-as.pngbin0 -> 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.pngbin0 -> 928 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-be.pngbin0 -> 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.pngbin0 -> 778 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-bn.pngbin0 -> 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.pngbin0 -> 781 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-bs.pngbin0 -> 740 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-ca.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 809 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-da.pngbin0 -> 608 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-de.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 996 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-en_IE.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 845 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-es.pngbin0 -> 715 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-et.pngbin0 -> 482 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-eu.pngbin0 -> 602 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-fa.pngbin0 -> 530 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-fi.pngbin0 -> 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.pngbin0 -> 799 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-fr.pngbin0 -> 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.pngbin0 -> 666 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-gd.pngbin0 -> 742 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-gl.pngbin0 -> 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.pngbin0 -> 778 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-gv.pngbin0 -> 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.pngbin0 -> 536 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-hi.pngbin0 -> 491 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-hr.pngbin0 -> 658 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-hu.pngbin0 -> 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.pngbin0 -> 755 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-id.pngbin0 -> 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.pngbin0 -> 665 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-it.pngbin0 -> 551 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-iu.pngbin0 -> 652 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-ja.pngbin0 -> 561 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-ka.pngbin0 -> 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.pngbin0 -> 543 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-ko.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 749 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-mi.pngbin0 -> 558 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-mk.pngbin0 -> 904 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-ml.pngbin0 -> 1006 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-mn.pngbin0 -> 491 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-mr.pngbin0 -> 452 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-ms.pngbin0 -> 1013 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-mt.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 518 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-nl.pngbin0 -> 788 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-nn.pngbin0 -> 811 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-no.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 814 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-pt_BR.pngbin0 -> 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.pngbin0 -> 671 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-ru.pngbin0 -> 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.pngbin0 -> 810 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-sh.pngbin0 -> 724 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-sk.pngbin0 -> 878 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-sl.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 724 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-ss.pngbin0 -> 619 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-st.pngbin0 -> 684 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-sv.pngbin0 -> 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.pngbin0 -> 612 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-te.pngbin0 -> 649 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-tg.pngbin0 -> 524 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-th.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 1217 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-uz@cyrillic.pngbin0 -> 1203 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-ve.pngbin0 -> 608 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-vi.pngbin0 -> 765 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-wa.pngbin0 -> 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.pngbin0 -> 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.pngbin0 -> 783 bytes
-rw-r--r--perl-install/install/pixmaps/langs/lang-zh_TW.pngbin0 -> 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/install231
-rw-r--r--perl-install/install2.pm611
-rw-r--r--perl-install/install_any.pm1134
-rw-r--r--perl-install/install_gtk.pm533
-rw-r--r--perl-install/install_interactive.pm248
-rw-r--r--perl-install/install_steps.pm955
-rw-r--r--perl-install/install_steps_auto_install.pm110
-rw-r--r--perl-install/install_steps_gtk.pm655
-rw-r--r--perl-install/install_steps_interactive.pm1191
-rw-r--r--perl-install/install_steps_newt.pm61
-rw-r--r--perl-install/install_steps_stdio.pm41
-rw-r--r--perl-install/interactive.pm746
-rw-r--r--perl-install/interactive/curses.pm635
-rw-r--r--perl-install/interactive/gtk.pm997
-rw-r--r--perl-install/interactive/http.pm164
-rw-r--r--perl-install/interactive/stdio.pm179
-rw-r--r--perl-install/interactive_gtk.pm791
-rw-r--r--perl-install/interactive_http.pm159
-rw-r--r--perl-install/interactive_newt.pm242
-rw-r--r--perl-install/interactive_stdio.pm97
-rw-r--r--perl-install/keyboard.pm409
-rw-r--r--perl-install/lang.pm2139
-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_install246
-rw-r--r--perl-install/log.pm73
-rw-r--r--perl-install/loopback.pm127
-rw-r--r--perl-install/lvm.pm263
-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/modparm.pm43
-rw-r--r--perl-install/modules.pm966
-rw-r--r--perl-install/modules/any_conf.pm213
-rw-r--r--perl-install/modules/interactive.pm164
-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.pm23
-rw-r--r--perl-install/mouse.pm417
-rw-r--r--perl-install/my_gtk.pm735
-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.pm167
-rw-r--r--perl-install/network/ethernet.pm223
-rw-r--r--perl-install/network/isdn.pm274
-rw-r--r--perl-install/network/isdn_consts.pm326
-rw-r--r--perl-install/network/modem.pm89
-rw-r--r--perl-install/network/netconnect.pm579
-rw-r--r--perl-install/network/network.pm446
-rw-r--r--perl-install/network/nfs.pm43
-rw-r--r--perl-install/network/smb.pm57
-rw-r--r--perl-install/network/tools.pm167
-rw-r--r--perl-install/partition_table.pm930
-rw-r--r--perl-install/partition_table/bsd.pm151
-rw-r--r--perl-install/partition_table/dmcrypt.pm41
-rw-r--r--perl-install/partition_table/dos.pm359
-rw-r--r--perl-install/partition_table/empty.pm36
-rw-r--r--perl-install/partition_table/gpt.pm161
-rw-r--r--perl-install/partition_table/lvm.pm38
-rw-r--r--perl-install/partition_table/mac.pm396
-rw-r--r--perl-install/partition_table/raw.pm309
-rw-r--r--perl-install/partition_table/readonly.pm20
-rw-r--r--perl-install/partition_table/sun.pm205
-rw-r--r--perl-install/partition_table_bsd.pm145
-rw-r--r--perl-install/partition_table_dos.pm94
-rw-r--r--perl-install/partition_table_empty.pm38
-rw-r--r--perl-install/partition_table_mac.pm376
-rw-r--r--perl-install/partition_table_raw.pm157
-rw-r--r--perl-install/partition_table_sun.pm201
-rwxr-xr-xperl-install/perl2etags8
-rw-r--r--perl-install/pixmaps/X.pngbin1812 -> 2130 bytes
-rw-r--r--perl-install/pixmaps/advanced_expander.pngbin0 -> 222 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/bootdisk.pngbin1180 -> 0 bytes
-rw-r--r--perl-install/pixmaps/bootloader.pngbin1804 -> 0 bytes
-rw-r--r--perl-install/pixmaps/colors.pngbin275 -> 0 bytes
-rw-r--r--perl-install/pixmaps/colors16.pngbin6414 -> 0 bytes
-rw-r--r--perl-install/pixmaps/colors8.pngbin798 -> 0 bytes
-rw-r--r--perl-install/pixmaps/cups_config.pngbin0 -> 1997 bytes
-rw-r--r--perl-install/pixmaps/default.pngbin875 -> 1196 bytes
-rw-r--r--perl-install/pixmaps/eth_card_mini.pngbin2265 -> 2625 bytes
-rw-r--r--perl-install/pixmaps/exit.pngbin2117 -> 0 bytes
-rw-r--r--perl-install/pixmaps/harddrive.pngbin2264 -> 0 bytes
-rw-r--r--perl-install/pixmaps/help.pngbin0 -> 1581 bytes
-rw-r--r--perl-install/pixmaps/keyboard.pngbin3115 -> 0 bytes
-rw-r--r--perl-install/pixmaps/language.pngbin3297 -> 0 bytes
-rw-r--r--perl-install/pixmaps/monitor-1024.pngbin7833 -> 0 bytes
-rw-r--r--perl-install/pixmaps/monitor-1280.pngbin6123 -> 0 bytes
-rw-r--r--perl-install/pixmaps/monitor-640.pngbin11629 -> 0 bytes
-rw-r--r--perl-install/pixmaps/monitor-800.pngbin9544 -> 0 bytes
-rw-r--r--perl-install/pixmaps/monitor.pngbin1813 -> 0 bytes
-rw-r--r--perl-install/pixmaps/mouse.pngbin1719 -> 0 bytes
-rw-r--r--perl-install/pixmaps/mouse_3b+.xpm386
-rw-r--r--perl-install/pixmaps/mouse_3b+_mini.xpm211
-rw-r--r--perl-install/pixmaps/mouse_3b.xpm386
-rw-r--r--perl-install/pixmaps/mouse_3b_mini.xpm211
-rw-r--r--perl-install/pixmaps/mouse_left.xpm142
-rw-r--r--perl-install/pixmaps/mouse_middle.xpm89
-rw-r--r--perl-install/pixmaps/mouse_right.xpm143
-rw-r--r--perl-install/pixmaps/network.pngbin1852 -> 0 bytes
-rw-r--r--perl-install/pixmaps/nosplash_thumb.pngbin0 -> 1937 bytes
-rw-r--r--perl-install/pixmaps/partition.pngbin2473 -> 0 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.pngbin1675 -> 0 bytes
-rw-r--r--perl-install/pixmaps/quit.pngbin0 -> 2880 bytes
-rw-r--r--perl-install/pixmaps/redhat-config-users.pngbin0 -> 3947 bytes
-rw-r--r--perl-install/pixmaps/refresh.pngbin0 -> 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/rootpasswd.pngbin1799 -> 0 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/security.pngbin1799 -> 0 bytes
-rw-r--r--perl-install/pixmaps/selected.pngbin0 -> 310 bytes
-rw-r--r--perl-install/pixmaps/services.pngbin5048 -> 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.pngbin0 -> 349 bytes
-rw-r--r--perl-install/pixmaps/steps_on.pngbin0 -> 811 bytes
-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/summary.pngbin1788 -> 0 bytes
-rw-r--r--perl-install/pixmaps/unselected.pngbin0 -> 155 bytes
-rw-r--r--perl-install/pixmaps/user.pngbin3254 -> 0 bytes
-rw-r--r--perl-install/pixmaps/warning.pngbin0 -> 2396 bytes
-rw-r--r--perl-install/pkgs.pm1801
-rw-r--r--perl-install/printer.pm979
-rw-r--r--perl-install/printerdrake.pm1637
-rw-r--r--perl-install/proxy.pm110
-rw-r--r--perl-install/raid.pm407
-rw-r--r--perl-install/resize_fat/.cvsignore5
-rw-r--r--perl-install/resize_fat/Makefile2
-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.pm17
-rw-r--r--perl-install/resize_fat/boot_sector.pm10
-rw-r--r--perl-install/resize_fat/c_rewritten.pm10
-rw-r--r--perl-install/resize_fat/c_rewritten.xs10
-rw-r--r--perl-install/resize_fat/dir_entry.pm8
-rw-r--r--perl-install/resize_fat/directory.pm10
-rw-r--r--perl-install/resize_fat/fat.pm27
-rw-r--r--perl-install/resize_fat/info_sector.pm4
-rw-r--r--perl-install/resize_fat/io.pm25
-rw-r--r--perl-install/resize_fat/main.pm38
-rw-r--r--perl-install/run_program.pm438
-rw-r--r--perl-install/sbus_probing/main.pm138
-rw-r--r--perl-install/scanner.pm606
-rw-r--r--perl-install/security/help.pm139
-rw-r--r--perl-install/security/l10n.pm66
-rw-r--r--perl-install/security/level.pm80
-rw-r--r--perl-install/security/msec.pm187
-rw-r--r--perl-install/security/various.pm19
-rw-r--r--perl-install/services.pm600
-rw-r--r--perl-install/share/.cvsignore2
-rw-r--r--perl-install/share/Makefile5
-rw-r--r--perl-install/share/aliases7
-rw-r--r--perl-install/share/base.pngbin0 -> 234 bytes
-rw-r--r--perl-install/share/compssList1665
-rw-r--r--perl-install/share/compssUsers94
-rw-r--r--perl-install/share/compssUsers.desktop39
-rw-r--r--perl-install/share/diskdrake.css92
-rw-r--r--perl-install/share/diskdrake.rc43
-rw-r--r--perl-install/share/floppy.pngbin317 -> 306 bytes
-rw-r--r--perl-install/share/fonts.tar.bz2bin1136373 -> 0 bytes
-rw-r--r--perl-install/share/ftin.pngbin190 -> 212 bytes
-rw-r--r--perl-install/share/ftout.pngbin190 -> 217 bytes
-rwxr-xr-xperl-install/share/gen_locales.sh46
-rw-r--r--perl-install/share/help.pngbin6222 -> 1353 bytes
-rw-r--r--perl-install/share/install.rc21
-rw-r--r--perl-install/share/installed.pngbin0 -> 477 bytes
-rw-r--r--perl-install/share/keyboards.tar.bz2bin20477 -> 0 bytes
-rw-r--r--perl-install/share/keymaps.tar.bz2bin10929 -> 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/list165
-rw-r--r--perl-install/share/list.alpha13
-rw-r--r--perl-install/share/list.i3869
-rw-r--r--perl-install/share/list.ia64113
-rw-r--r--perl-install/share/list.ppc11
-rw-r--r--perl-install/share/list.sparc84
-rw-r--r--perl-install/share/locales-skeleton.tar.bz2bin26715 -> 0 bytes
-rw-r--r--perl-install/share/logo-mandrake.pngbin16534 -> 0 bytes
-rwxr-xr-xperl-install/share/makedev.sh89
-rw-r--r--perl-install/share/modparm.lst1229
-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/Changelog246
-rw-r--r--perl-install/share/po/DrakX.pot6904
-rw-r--r--perl-install/share/po/Makefile47
-rw-r--r--perl-install/share/po/af.po12265
-rw-r--r--perl-install/share/po/am.po6482
-rw-r--r--perl-install/share/po/ar.po10094
-rw-r--r--perl-install/share/po/ast.po6507
-rw-r--r--perl-install/share/po/az.po12040
-rw-r--r--perl-install/share/po/b_dump_strings.pm113
-rw-r--r--perl-install/share/po/be.po12372
-rw-r--r--perl-install/share/po/bg.po12472
-rw-r--r--perl-install/share/po/bn.po6833
-rw-r--r--perl-install/share/po/br.po12310
-rw-r--r--perl-install/share/po/bs.po6944
-rw-r--r--perl-install/share/po/ca.po14487
-rw-r--r--perl-install/share/po/cs.po12308
-rw-r--r--perl-install/share/po/cy.po11011
-rw-r--r--perl-install/share/po/da.po12434
-rw-r--r--perl-install/share/po/de.po12491
-rw-r--r--perl-install/share/po/de_AT.po7236
-rw-r--r--perl-install/share/po/el.po13773
-rw-r--r--perl-install/share/po/eo.po11409
-rw-r--r--perl-install/share/po/es.po14432
-rw-r--r--perl-install/share/po/et.po13687
-rw-r--r--perl-install/share/po/eu.po13148
-rw-r--r--perl-install/share/po/fa.po6879
-rwxr-xr-xperl-install/share/po/fake_c.pl15
-rw-r--r--perl-install/share/po/fi.po12362
-rw-r--r--perl-install/share/po/fr.po13730
-rw-r--r--perl-install/share/po/fur.po6497
-rw-r--r--perl-install/share/po/ga.po10295
-rw-r--r--perl-install/share/po/gl.po12126
-rw-r--r--perl-install/share/po/he.po6925
-rwxr-xr-xperl-install/share/po/help_update_english_only.pl50
-rwxr-xr-xperl-install/share/po/help_xml2pm.pl140
-rw-r--r--perl-install/share/po/hi.po6764
-rw-r--r--perl-install/share/po/hr.po12763
-rw-r--r--perl-install/share/po/hu.po13316
-rw-r--r--perl-install/share/po/hy.po6477
-rw-r--r--perl-install/share/po/i18n_compssUsers37
-rw-r--r--perl-install/share/po/id.po12464
-rw-r--r--perl-install/share/po/is.po12371
-rw-r--r--perl-install/share/po/it.po12973
-rw-r--r--perl-install/share/po/ja.po14041
-rw-r--r--perl-install/share/po/ka.po6477
-rw-r--r--perl-install/share/po/ko.po11263
-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.po12819
-rw-r--r--perl-install/share/po/ltg.po7168
-rw-r--r--perl-install/share/po/lv.po11686
-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.po6481
-rw-r--r--perl-install/share/po/mt.po7503
-rw-r--r--perl-install/share/po/nb.po7093
-rw-r--r--perl-install/share/po/nl.po12279
-rw-r--r--perl-install/share/po/nn.po7848
-rw-r--r--perl-install/share/po/no.po9803
-rw-r--r--perl-install/share/po/pa_IN.po7315
-rw-r--r--perl-install/share/po/pl.po12820
-rw-r--r--perl-install/share/po/pt.po11881
-rw-r--r--perl-install/share/po/pt_BR.po12516
-rw-r--r--perl-install/share/po/ro.po12991
-rw-r--r--perl-install/share/po/ru.po12523
-rw-r--r--perl-install/share/po/sc.po6798
-rw-r--r--perl-install/share/po/sk.po11507
-rw-r--r--perl-install/share/po/sl.po11939
-rw-r--r--perl-install/share/po/sp.po11469
-rw-r--r--perl-install/share/po/sq.po7174
-rw-r--r--perl-install/share/po/sr.po13993
-rw-r--r--perl-install/share/po/sr@Latn.po7738
-rw-r--r--perl-install/share/po/sv.po12406
-rw-r--r--perl-install/share/po/ta.po6652
-rw-r--r--perl-install/share/po/tg.po7000
-rw-r--r--perl-install/share/po/th.po10830
-rw-r--r--perl-install/share/po/tl.po6979
-rw-r--r--perl-install/share/po/tr.po13326
-rwxr-xr-xperl-install/share/po/translation_size.pl45
-rw-r--r--perl-install/share/po/uk.po14138
-rw-r--r--perl-install/share/po/uz.po6674
-rw-r--r--perl-install/share/po/uz@cyrillic.po6971
-rwxr-xr-xperl-install/share/po/validate.pl102
-rw-r--r--perl-install/share/po/vi.po12206
-rw-r--r--perl-install/share/po/wa.po12512
-rw-r--r--perl-install/share/po/xh.po6477
-rw-r--r--perl-install/share/po/zh_CN.po9719
-rw-r--r--perl-install/share/po/zh_TW.po6913
-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/rpm-base.pngbin386 -> 0 bytes
-rw-r--r--perl-install/share/rpm-installed.pngbin344 -> 0 bytes
-rw-r--r--perl-install/share/rpm-selected.pngbin344 -> 0 bytes
-rw-r--r--perl-install/share/rpm-semiselected.pngbin238 -> 0 bytes
-rw-r--r--perl-install/share/rpm-unselected.pngbin123 -> 0 bytes
-rw-r--r--perl-install/share/rpmsrate516
-rw-r--r--perl-install/share/step-green-click.xpm174
-rw-r--r--perl-install/share/step-green-on.xpm198
-rw-r--r--perl-install/share/step-green.xpm211
-rw-r--r--perl-install/share/step-orange-click.xpm164
-rw-r--r--perl-install/share/step-orange-on.xpm206
-rw-r--r--perl-install/share/step-orange.xpm219
-rw-r--r--perl-install/share/step-red-click.xpm175
-rw-r--r--perl-install/share/step-red-on.xpm204
-rw-r--r--perl-install/share/step-red.xpm219
-rwxr-xr-xperl-install/share/theme-editor.pl161
-rw-r--r--perl-install/share/themes-blackwhite.rc62
-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.rc40
-rw-r--r--perl-install/share/themes-marble3d.rc208
-rw-r--r--perl-install/share/themes-mdk-Desktop.rc203
-rw-r--r--perl-install/share/themes-mdk.rc225
-rw-r--r--perl-install/share/themes-savane.rc62
-rw-r--r--perl-install/share/themes.rc36
-rw-r--r--perl-install/share/themes/blueHeart-button_def.pngbin2735 -> 0 bytes
-rw-r--r--perl-install/share/themes/focus.pngbin345 -> 0 bytes
-rw-r--r--perl-install/share/themes/marble3d-bg1.pngbin9693 -> 0 bytes
-rw-r--r--perl-install/share/themes/marble3d-button1.pngbin3454 -> 0 bytes
-rw-r--r--perl-install/share/themes/marble3d-button2.pngbin3840 -> 0 bytes
-rw-r--r--perl-install/share/themes/marble3d-button4.pngbin2936 -> 0 bytes
-rw-r--r--perl-install/share/themes/marble3d-button_def.pngbin4888 -> 0 bytes
-rw-r--r--perl-install/share/themes/marble3d-check1.pngbin180 -> 0 bytes
-rw-r--r--perl-install/share/themes/marble3d-check2.pngbin231 -> 0 bytes
-rw-r--r--perl-install/share/themes/mdk-Desktop-bg.pngbin153 -> 0 bytes
-rw-r--r--perl-install/share/themes/mdk-bg.pngbin151 -> 0 bytes
-rw-r--r--perl-install/share/themes/mdk-button1.pngbin387 -> 0 bytes
-rw-r--r--perl-install/share/themes/mdk-button4.pngbin369 -> 0 bytes
-rw-r--r--perl-install/share/themes/mdk-check_off.pngbin602 -> 0 bytes
-rw-r--r--perl-install/share/themes/mdk-check_on.pngbin584 -> 0 bytes
-rw-r--r--perl-install/share/themes/mdk-toggle_off.pngbin616 -> 0 bytes
-rw-r--r--perl-install/share/themes/mdk-toggle_on.pngbin701 -> 0 bytes
-rwxr-xr-xperl-install/share/verify_modules.pl102
-rw-r--r--perl-install/share/wizard.rc172
-rw-r--r--perl-install/standalone.pm322
-rw-r--r--perl-install/standalone/.perl_checker1
-rwxr-xr-xperl-install/standalone/XFdrake89
-rwxr-xr-xperl-install/standalone/adduserdrake31
-rwxr-xr-xperl-install/standalone/bootloader-config363
-rwxr-xr-xperl-install/standalone/convert10
-rwxr-xr-xperl-install/standalone/diskdrake108
-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/drakauth42
-rwxr-xr-xperl-install/standalone/drakautoinst353
-rwxr-xr-xperl-install/standalone/drakautologin138
-rwxr-xr-xperl-install/standalone/drakboot78
-rwxr-xr-xperl-install/standalone/drakbug293
-rwxr-xr-xperl-install/standalone/drakbug_report6
-rwxr-xr-xperl-install/standalone/drakclock424
-rwxr-xr-xperl-install/standalone/drakdisk10
-rwxr-xr-xperl-install/standalone/drakdoc2
-rwxr-xr-xperl-install/standalone/drakdvb168
-rwxr-xr-xperl-install/standalone/drakedm89
-rwxr-xr-xperl-install/standalone/drakfloppy347
-rwxr-xr-xperl-install/standalone/drakfont791
-rwxr-xr-xperl-install/standalone/drakgw786
-rwxr-xr-xperl-install/standalone/drakhelp54
-rwxr-xr-xperl-install/standalone/draknet664
-rwxr-xr-xperl-install/standalone/drakperm442
-rwxr-xr-xperl-install/standalone/drakproxy88
-rwxr-xr-xperl-install/standalone/draksec324
-rwxr-xr-xperl-install/standalone/draksound54
-rwxr-xr-xperl-install/standalone/drakupdate_fstab167
-rwxr-xr-xperl-install/standalone/drakups410
-rwxr-xr-xperl-install/standalone/drakxconf53
-rwxr-xr-xperl-install/standalone/drakxservices18
-rwxr-xr-xperl-install/standalone/drakxtv76
-rwxr-xr-xperl-install/standalone/fileshareset407
-rwxr-xr-xperl-install/standalone/finish-install310
-rwxr-xr-xperl-install/standalone/finish-install.xsetup38
-rwxr-xr-xperl-install/standalone/harddrake2627
-rw-r--r--perl-install/standalone/icons/IC-Dssh-48.pngbin0 -> 644 bytes
-rw-r--r--perl-install/standalone/icons/categ.pngbin0 -> 4111 bytes
-rw-r--r--perl-install/standalone/icons/drakbug-16.pngbin0 -> 753 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.pngbin0 -> 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.pngbin0 -> 608 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/cd.pngbin0 -> 777 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/cpu.pngbin0 -> 611 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/floppy.pngbin0 -> 607 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/harddisk.pngbin0 -> 796 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/harddrake.pngbin0 -> 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.pngbin0 -> 636 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/hw_network.pngbin0 -> 975 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/hw_printer.pngbin0 -> 786 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/ide_hd.pngbin0 -> 738 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/isdn.pngbin0 -> 736 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/joystick.pngbin0 -> 693 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/keyboard.pngbin0 -> 710 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/memory.pngbin0 -> 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.pngbin0 -> 733 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/menu/harddrake-menu32.pngbin0 -> 1747 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/menu/harddrake-menu48.pngbin0 -> 3343 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/modem.pngbin0 -> 429 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/multimedia.pngbin0 -> 842 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/scanner.pngbin0 -> 695 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/scsi.pngbin0 -> 738 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/scsi_hd.pngbin0 -> 738 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/sound.pngbin0 -> 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.pngbin0 -> 721 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/tv.pngbin0 -> 771 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/unknown.pngbin0 -> 845 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/ups.pngbin0 -> 788 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/usb.pngbin0 -> 477 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/video.pngbin0 -> 738 bytes
-rw-r--r--perl-install/standalone/icons/harddrake2/webcam.pngbin0 -> 960 bytes
-rw-r--r--perl-install/standalone/icons/hori.pngbin0 -> 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.pngbin0 -> 627 bytes
-rw-r--r--perl-install/standalone/icons/ic82-back-up-16.pngbin0 -> 438 bytes
-rw-r--r--perl-install/standalone/icons/ic82-back-up-32.pngbin0 -> 534 bytes
-rw-r--r--perl-install/standalone/icons/ic82-network-40.pngbin0 -> 505 bytes
-rw-r--r--perl-install/standalone/icons/ic82-users-16.pngbin0 -> 334 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/net_c.pngbin0 -> 1645 bytes
-rw-r--r--perl-install/standalone/icons/net_d.pngbin0 -> 1906 bytes
-rw-r--r--perl-install/standalone/icons/net_u.pngbin0 -> 2186 bytes
-rw-r--r--perl-install/standalone/icons/non-editable.pngbin0 -> 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.pngbin0 -> 252 bytes
-rw-r--r--perl-install/standalone/icons/smbnfs_has_mntpoint.pngbin0 -> 269 bytes
-rw-r--r--perl-install/standalone/icons/smbnfs_mounted.pngbin0 -> 253 bytes
-rw-r--r--perl-install/standalone/icons/smbnfs_server.pngbin0 -> 195 bytes
-rw-r--r--perl-install/standalone/icons/tradi.pngbin0 -> 33212 bytes
-rw-r--r--perl-install/standalone/icons/verti.pngbin0 -> 534 bytes
-rw-r--r--perl-install/standalone/icons/wiz_default_up.pngbin0 -> 4472 bytes
-rw-r--r--perl-install/standalone/interactive_http/.perl_checker1
-rw-r--r--perl-install/standalone/interactive_http/Makefile2
-rw-r--r--perl-install/standalone/interactive_http/authorised_progs3
-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.init59
-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/keyboarddrake72
-rwxr-xr-xperl-install/standalone/livedrake45
-rwxr-xr-x[-rw-r--r--]perl-install/standalone/localedrake52
-rwxr-xr-xperl-install/standalone/logdrake534
-rwxr-xr-xperl-install/standalone/lsnetdrake29
-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/mousedrake150
-rwxr-xr-xperl-install/standalone/net_monitor466
-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/printerdrake69
-rwxr-xr-xperl-install/standalone/remove-unused-packages11
-rwxr-xr-xperl-install/standalone/scannerdrake987
-rwxr-xr-xperl-install/standalone/service_harddrake474
-rwxr-xr-xperl-install/standalone/service_harddrake_confirm17
-rwxr-xr-xperl-install/standalone/tinyfirewall91
-rw-r--r--perl-install/steps.pm50
-rw-r--r--perl-install/swap.pm136
-rw-r--r--perl-install/timezone.pm404
-rw-r--r--perl-install/tinyfirewall.pm246
-rw-r--r--perl-install/ugtk2.pm1653
-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/christmas-karaoke.patch17
-rw-r--r--perl-install/unused/demo-frozen-bubble.patch371
-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
-rw-r--r--perl-install/unused/scsi.pm4
-rwxr-xr-xperl-install/verify_c14
-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.pl52
-rw-r--r--rescue/dirs13
-rwxr-xr-xrescue/drvinst70
-rwxr-xr-xrescue/guessmounts86
-rw-r--r--rescue/kernel_read_part.c26
-rw-r--r--rescue/list121
-rw-r--r--rescue/list.alpha2
-rw-r--r--rescue/list.i38612
-rw-r--r--rescue/list.ppc11
-rw-r--r--rescue/list.sparc3
-rw-r--r--rescue/list.xml482
-rwxr-xr-xrescue/make_flash_rescuebin0 -> 2504 bytes
-rwxr-xr-xrescue/make_partimage_save_rest_all64
-rwxr-xr-xrescue/make_rescue_img139
-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/issue8
-rwxr-xr-xrescue/tree/etc/oem831
-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.sysinit51
-rwxr-xr-xrescue/tree/sbin/fakeshutdown39
-rwxr-xr-xrescue/tree/sbin/modprobe40
-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/Makefile34
-rwxr-xr-xtools/addchangelog.pl18
-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.pl75
-rw-r--r--tools/ddcprobe/.cvsignore1
-rw-r--r--tools/ddcprobe/COPYING483
-rw-r--r--tools/ddcprobe/Makefile28
-rw-r--r--tools/ddcprobe/README8
-rw-r--r--tools/ddcprobe/ddcxinfos.c71
-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
-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
-rwxr-xr-xtools/i386/netboot/grubbin323730 -> 0 bytes
-rwxr-xr-xtools/i386/netboot/make_boot_network18
-rw-r--r--tools/i386/netboot/menu.lst.example7
-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.3c90xbin95652 -> 0 bytes
-rw-r--r--tools/i386/netboot/stage2.eepro100bin107584 -> 0 bytes
-rw-r--r--tools/i386/netboot/stage2.rtl8139bin103012 -> 0 bytes
-rw-r--r--tools/i386/netboot/stage2.tulipbin94396 -> 0 bytes
-rw-r--r--tools/i386/netboot/stage2.via-rhinebin88208 -> 0 bytes
-rwxr-xr-xtools/i386/shbin153752 -> 0 bytes
-rwxr-xr-xtools/ia64/e2fsck.sharedbin1060504 -> 0 bytes
-rwxr-xr-xtools/ia64/elilo.efibin306253 -> 0 bytes
-rwxr-xr-xtools/install-xml-file-list396
-rwxr-xr-xtools/mailchangelog.pl14
-rw-r--r--tools/make_lang_png_transparent.c167
-rwxr-xr-xtools/make_mdkinst_stage274
-rwxr-xr-xtools/mdkinst_stage2_tool69
-rwxr-xr-xtools/mkhdlist16
-rw-r--r--tools/ntp_servers.pl51
-rwxr-xr-xtools/oem-prepare397
-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/magic81
-rwxr-xr-xtools/ppc/mapping20
-rwxr-xr-xtools/ppc/mkINSTALLCD78
-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_arch29
-rwxr-xr-xtools/syncrpms263
-rwxr-xr-xupdate_kernel141
2654 files changed, 1252612 insertions, 618134 deletions
diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index f6f0748da..000000000
--- a/.cvsignore
+++ /dev/null
@@ -1,7 +0,0 @@
-pictures
-docs
-images
-unused
-all.modules
-all.kernels
-drakxtools.tar.bz2
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 441609f09..ac686b8aa 100644
--- a/Makefile
+++ b/Makefile
@@ -1,147 +1,28 @@
-ARCH := $(patsubst i%86,i386,$(shell uname -m))
-ARCH := $(patsubst sparc%,sparc,$(ARCH))
-
-RELEASE_BOOT_IMG = cdrom.img hd.img network.img usbnet.img
-ifeq (i386,$(ARCH))
-RELEASE_BOOT_IMG += blank.img pcmcia.img other.img
-endif
-ifeq (sparc,$(ARCH))
-BOOT_IMG = live.img tftp.img tftprd.img live64.img tftp64.img tftprd64.img
-RELEASE_BOOT_IMG += hd64.img cdrom64.img network64.img
-endif
-ifeq (ppc,$(ARCH))
-BOOT_IMG =
-RELEASE_BOOT_IMG = all.img
-endif
-ifeq (ia64,$(ARCH))
-BOOT_IMG =
-RELEASE_BOOT_IMG = all.img
-endif
-BOOT_IMG += $(RELEASE_BOOT_IMG)
-
-FRELEASE_BOOT_IMG = $(BOOT_IMG:%=images/%)
-FBOOT_IMG = $(BOOT_IMG:%=images/%)
-FBOOT_RDZ = $(FBOOT_IMG:%.img=%.rdz) images/all.rdz
-
-BINS = mdk-stage1/init mdk-stage1/stage1-full mdk-stage1/stage1-cdrom mdk-stage1/stage1-network mdk-stage/stage1-usbnet
-ifeq (ppc,$(ARCH))
-BINS = mdk-stage1/init mdk-stage1/stage1-full
-endif
-DIRS = tools mdk-stage1 perl-install
ROOTDEST = /export
-UPLOAD_DEST_ = ~/cooker
-UPLOAD_DEST = $(UPLOAD_DEST_)/cooker
-UPLOAD_DEST_CONTRIB = $(UPLOAD_DEST_)/contrib
-UPLOAD_SPARC_DEST = /mnt/BIG/distrib/sparc
+STAGE2_DEST = $(ROOTDEST)/install/stage2
-.PHONY: dirs perl-install $(FLOPPY_IMG) install
+DIRS = tools images perl-install/install rescue
-install: all.modules build rescue
- for i in images misc Mandrake Mandrake/base; do install -d $(ROOTDEST)/$$i ; done
-ifneq (ppc,$(ARCH))
- for i in $(FRELEASE_BOOT_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
+.PHONY: dirs install
- install live_update $(ROOTDEST)/live_update
- make -C perl-install full_stage2
-
-build: $(FBOOT_IMG)
+install: dirs rescue install_only
dirs:
- @for n in . $(DIRS); do \
- [ "$$n" = "." ] || $(MAKE) -C $$n all ;\
- done
-
-rescue: all.modules
- make -C $@
-
-$(FBOOT_RDZ): dirs 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
-
-perl-install:
- make -C perl-install all
-
-mdk-stage1/mar/mar:
- make -C mdk-stage1/mar
+ @for n in $(DIRS); do $(MAKE) -C $$n all || exit 1 ; done
-all.modules: mdk-stage1/mar/mar perl-install/auto/c/stuff/stuff.so update_kernel perl-install/modules.pm
- `./tools/specific_arch ./update_kernel`
-
-perl-install/auto/c/stuff/stuff.so: perl-install
-
-
-$(FBOOT_IMG:%=%f): %f: %
- dd if=$< of=/dev/fd0
- xmessage "Floppy done"
+install_only:
+ 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 $(BINS) images all.modules all.modules64 install_pcmcia_modules
- for i in $(DIRS) rescue; do make -C $$i clean; done
+# 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
-
- function upload() { rsync -qSavz --verbose --exclude '*~' -e ssh --delete $(ROOTDEST)/$$1/$$2 mandrake@kenobi:/c/cooker/$$1; } ;\
- upload Mandrake/mdkinst '' ;\
- upload Mandrake/base compssUsers ;\
- upload Mandrake/base rpmsrate ;\
- upload Mandrake/base *_stage2.bz2 ;\
- upload misc gendistrib ;\
- upload misc make_mdkinst_stage2 ;\
- upload misc packdrake ;\
- upload misc packdrake.pm ;\
- upload misc rpmtools.pm ;\
- upload misc auto ;\
- upload '' live_update ;\
- upload images MD5SUM ;\
- upload images *.img* ;\
- upload images/alternatives '' ;\
- echo
-
-upload_sparc:
- touch /tmp/mdkinst_done
- cp -a $(ROOTDEST)/images/* $(UPLOAD_SPARC_DEST)/images ; true
- cp -a $(ROOTDEST)/boot/* $(UPLOAD_SPARC_DEST)/boot; true
- cp -a $(ROOTDEST)/misc/* $(UPLOAD_SPARC_DEST)/misc; true
- rm -rf $(UPLOAD_SPARC_DEST)/Mandrake/mdkinst
- cp -a $(ROOTDEST)/Mandrake/mdkinst $(UPLOAD_SPARC_DEST)/Mandrake/mdkinst; true
- ( cd $(ROOTDEST)/Mandrake/base; cp mdkinst_stage2.bz2 rescue_stage2.bz2 compss compssList compssUsers compssUsers.desktop $(UPLOAD_SPARC_DEST)/Mandrake/base ); true
- rm -f /tmp/mdkinst_done
-
-# mkisofs -r -J -b images/cdrom.img -c images/boot.cat /tmp/r /mnt/disk/ | cdrecord -v -eject speed=6 dev=1,0 -
-# as distrib: mv ~/oxygen/oxygen/images ~/tmp/r
-# as mandrake: ~distrib/bin/mkisofs -r -b images/cdrom.img -c images/boot.cat -o /home/ftp/linux-mandrake/pub/mirror/oxyiso/oxygen-3.iso ~distrib/tmp/r ~distrib/oxygen/oxygen
-# as mandrake: remove old iso in /home/ftp/linux-mandrake/pub/mirror/oxyiso
-# as mandrake: cd /home/ftp/linux-mandrake/pub/mirror/oxyiso ; md5sum *.iso > md5sum
-# as distrib: mv ~/tmp/r/images ~/oxygen/oxygen
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/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 fb3c8cf49..000000000
--- a/docs/HACKING
+++ /dev/null
@@ -1,122 +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.
-
-
-(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
-
-
-(4) boot kernel
-
-you need one or more kernels and (all?) their modules. it's located in
-subdirectory "all.kernels" in DrakX-*.src.rpm ; if you ever grab (or
-build) another boot kernel, replace or add an entry in "all.kernels" as:
-
- (a) create your modules subdir (useful to describe the
- VERSION_RELEASE) and untar your kernel
-
-[gc@obiwan ~/cvs/gi/all.kernels] mkdir 2.4.1-BOOTcustom
-[gc@obiwan ~/cvs/gi/all.kernels] cd 2.4.1-BOOTcustom
-[gc@obiwan ~/cvs/gi/all.kernels/2.4.1-BOOTcustom] tar jxvf ~/mycustomkernel.tar.bz2
-[gc@obiwan ~/cvs/gi/all.kernels/2.4.1-BOOTcustom] ls
-boot/ cardmgr/ lib/
-
- (c) build kernel/modules stuff for stage1 and stage2
-[gc@obiwan ~/cvs/gi] ./update_kernel
-
-
-(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 ./g_auto_install --test
-
- You should be able to test the whole thing in a non-destructive way.
-
-NEVER compile and/or execute DrakX as root!
-
-
-
-
-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
new file mode 100644
index 000000000..037fe9106
--- /dev/null
+++ b/docs/Partition-ends-after-end-of-disk.txt
@@ -0,0 +1,66 @@
+ Cylinder/Head/Size Hell Is Not Over
+
+ pixel
+ $Date$
+
+
+Nowadays, you can boot Linux without ever relying on CHS
+(Cylinder/Head/Size):
+
+- CHS information on partition table is obsolete and not used anymore.
+It was causing the 1024th cylinder limitation:
+ - disallowing partitions above 8GiG. Problem overcome using 28bits Linear
+ Block Addressing (LBA) in partition table.
+ - disallowing to boot on partition above 8GiG (due to int13 limitation used
+ in bootloaders). Problem overcome using int13 extensions (EDD)
+
+Logical CHS (Cylinder/Head/Size) and physical CHS are not related anymore.
+Especially the size of a hard drive is not a multiple of the number of
+Cylinders.
+
+
+The problem is that many tools still rely somewhat heavily on CHS information.
+- most tools adjust partitions on cylinder boundary
+- some tools compute the size of the disk based on CHS (eg: fdisk)
+
+
+Resulting problems in various tools:
+
+- last partition not cylinder boundary adjusted, and overrun CHS computed size
+ - fdisk
+ > Total allocated sectors %d greater than the maximum %d
+ - cfdisk (need confirmation)
+ > FATAL ERROR: Bad primary partition %d: Partition ends after end-of-disk
+ or
+ > FATAL ERROR: Bad logical partition %d: Partition ends after end-of-disk
+ - Partition Magic (version?)
+ > Error #109: Partition ends after end of disk
+ - Windows <= 98se, Windows Me
+ (doesn't like it, what error message?)
+
+ Tools handling it correctly:
+ - parted and so diskdruid in RedHat >= 7.2 (or is it 7.x?)
+ - diskdrake >= Mandrake 8.2
+ - Windows XP (need confirmation)
+
+ Tools using the full size of the disk, and so causing pbs with fdisk/cfdisk/...:
+ - diskdrake == Mandrake 8.2
+
+- disagreement between CHS and linear address
+ - parted
+ > "Warning: Unable to align partition properly. This probably means that
+ > another partitioning tool generated an
+ > incorrect partition table, because it didn't have the correct BIOS
+ > geometry. It is safe to ignore,but
+ > ignoring may cause (fixable) problems with some boot loaders.
+ > Ignore Cancel ? C
+ - lilo
+ > Warning: Kernel & BIOS return differing head/sector geometries for device 0x80
+ > Kernel: 38792 cylinders, 16 heads, 63 sectors
+ > BIOS: 1023 cylinders, 255 heads, 63 sectors
+ > Device 0x2100: Inconsistent partition table, 2nd entry
+ > CHS address in PT: 48:0:1 --> LBA (771120)
+ > LBA address in PT: 48384 --> CHS (3:3:1)
+ > The partition table is *NOT* being adjusted.
+
+
diff --git a/docs/README b/docs/README
index 08d5613cc..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 as a lot of things are binary files.
-For the other things, take SRPMS/DrakX-*.src.rpm
-
-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,84 +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",
+install/images/all.img
+ fat16 image to dd on a partition (hint: sda1)
- blank.img is a blank boot image without a kernel nor initrd. this image
- can be used to generate custom boot disk.
+install/images/boot.iso
+ iso image to burn enabling any install (cdrom/hd/nfs/ftp)
- 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.
+ 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 *************************************************************************
@@ -154,14 +110,16 @@ 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.
-- /tmp/ddebug.log: same (or nearly the same) as alt-F3
+- 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
- /tmp/syslog: same as alt-F4
-- /mnt/root/ddebug.log: at the end of each step, DrakX tries to backup
-/tmp/ddebug.log to /mnt/root. Available only after mounting of /.
-- /mnt/root/install.log: the log of the installation (or upgrade) of the rpms
+- /mnt/root/drakx/ddebug.log: at the end of each step, DrakX tries to backup
+ /tmp/ddebug.log to /mnt/root/drakx. Available only after mounting of /.
+- /mnt/root/drakx/install.log: the log of the installation (or upgrade) of the rpms
(just like rpm's /mnt/tmp/(install|upgrade).log)
-- /mnt/root/auto_inst.cfg.pl: a kickstart file generated at the end of each
+- /mnt/root/drakx/auto_inst.cfg.pl: a kickstart file generated at the end of each
step. Can be used in 2 ways: kickstart install or ``defcfg'' install. Hopefully
you know about kickstart. ``defcfg'' is a way to customize the default values in
install. For example, French can be the default language with a qwerty keyboard,
@@ -169,91 +127,58 @@ 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 ***************************************************************
+* modules **********************************************************************
********************************************************************************
-If the media you use to install is a pcmcia device, use the pcmcia boot disk.
+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.
********************************************************************************
-* Ramdisk or not ***************************************************************
+* Making screenshots ***********************************************************
********************************************************************************
-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.
+1. easy solution: press "F2"!
+2. On a test machine, make a network install, switch to console (ctrl-alt-F2), enter:
+% xhost+
+then, on another computer:
+% DISPLAY=test_machine:0 xwd -root | convert - screenshot.png
********************************************************************************
-* modules **********************************************************************
+* Auto install *****************************************************************
********************************************************************************
-Modules can be found in at least 2 places:
-- in /modules/modules.mar
-- in /lib/modules.cz<KERNEL_VERSION_RELEASE>
+A powerful auto-install system is available. It allows performing
+an install without any human interaction.
-/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)
+To feed automatic parameters to the stage1 part (the textmode
+part - might not be necessary for you if you plan to do
+cdrom-based auto-installs, but mostly highly needed when doing
+network installs), please refer to ../mdk-stage1/doc/TECH-INFOS.
-/lib/modules.cz<KERNEL_VERSION_RELEASE> contains all modules, it is used
-in stage2.
+About the stage2 part (the actual installer, at the time you're
+(usually) running in graphical mode), please refer to the nice
+documentation written by David Eastcott. Either install the
+package "drakx-autoinstall-doc" from contrib, or browse:
+http://members.shaw.ca/Mandrake2/drakx/9.2/AutoInstall-9.2.2.html
-To install a module, use modprobe which is in /usr/bin. It's a perl wrapper
-around /usr/bin/insmod. It uses the dependencies found in
-/modules/modules.dep (stage1).
+The previous document will explain you how to setup the contents
+of the auto_inst.cfg file. Note that you have 3 alternatives for
+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
+ "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 this case you also need to provide the
+ "netauto" boot parameter
-/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.
-
-********************************************************************************
-* Making screenshots ***********************************************************
-********************************************************************************
-On a test machine, make a network install, switch to console (ctrl-alt-F2), enter:
-% xhost+
-
-then, on another computer:
-% DISPLAY=test_machine:0 xwd -root | convert - screenshot.png
+In any case, if the specified file ends with -IP or -IP.pl, IP
+will be substituted by the IP address of the machine, when doing
+a network install. Might be useful so that you can control all
+your auto installs from your server.
********************************************************************************
* Miscellaneous ****************************************************************
@@ -263,104 +188,21 @@ then, on another computer:
> - What exactly each stage does
init loads stage1
-stage1 loads stage2, on 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
-doesn't contain scsi modules nor ide.
+stage1 loads stage2, from various medium type
> - How one stage terminates and another begins. i.e., How does
> stage1 find, mount, and launch stage2?
-/sbin/init just starts /sbin/stage1
-/sbin/stage1 takes care of mounting stage2 (in ramdisk if necessary)
- then it runs /usr/bin/runinstall2
+ /sbin/init just starts /sbin/stage1, and monitors its
+execution; it's here to cleanly umount the partitions when stage1
+or stage2 dies/finished
+
+ /sbin/stage1 takes care of mounting stage2 (in ramdisk if
+necessary) then it execs /usr/bin/runinstall2 (thus, stage2
+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 0244557ba..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
@@ -116,17 +116,17 @@ partition_table: base partition table management methods, it manages
appriopriate partition_table_XXX object according to what has been read
as XXX partition table type.
-partition_table_raw: generic class for the following partition_table_XXX.
+partition_table::bsd: matches a BSD partition table.
-partition_table_emtpy: matches an empty partition table.
+partition_table::dos: matches a DOS partition table.
-partition_table_dos: matches a DOS partition table.
+partition_table::emtpy: matches an empty partition table.
-partition_table_bsd: matches a BSD partition table.
+partition_table::mac: matches an Apple partition table.
-partition_table_mac: matches an Apple partition table.
+partition_table::raw: generic class for the following partition_table::XXX.
-partition_table_sun: matches a Sun Label partition table.
+partition_table::sun: matches a Sun Label partition table.
fs: read and write /etc/fstab file, mount and umount, format.
@@ -182,7 +182,7 @@ standalone: standalone only, allow defining a standalone tools.
bootlook: standalone only, interface with DrakConf to configure bootloader options.
-tinyfirewall: standalone only, interface with DrakConf to configure a tiny firewall.
+drakfirewall: standalone only, interface with DrakConf to configure a tiny firewall.
********************************************************************************
* DrakX FAT resizer module description *****************************************
@@ -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 14115369a..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.
@@ -122,18 +122,9 @@ label expert
label rescue
kernel vmlinuz
append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 rescue rw
-label lnx4win
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz root=/dev/ram3 lnx4win vga=788
-label preinst
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz automatic=method:cdrom root=/dev/ram3 rescue oem rw
label oem
kernel vmlinuz
append ramdisk_size=32000 initrd=network.rdz automatic=method:cdrom root=/dev/ram3 rescue oem rw
-label auto
- kernel vmlinuz
- append ramdisk_size=32000 initrd=network.rdz auto_install=Mandrake/base/auto_inst.cfg.pl
********************************************************************************
* Usefull linkst ***************************************************************
********************************************************************************
diff --git a/docs/SHORTCUTS b/docs/SHORTCUTS
index bc8325625..0a0d6e0ab 100644
--- a/docs/SHORTCUTS
+++ b/docs/SHORTCUTS
@@ -1,8 +1,8 @@
********************************************************************************
main shortcuts
-F11 -> previous step
-F12 -> next (reachable) step
+F1 -> help
+F2 -> take a screenshot
********************************************************************************
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 68274da0d..ccd98f547 100644
--- a/docs/comparisons
+++ b/docs/comparisons
@@ -54,28 +54,253 @@ rpmsrate
5 () 77 66 1:24 ext2 300M
-8.1pre_rc1
-
-6 () 82 66 1:26 ext2 500M
-5 () 89 71 1:38 ext2 500M 0.91
-3 () 94 77 1:46 ext2 500M 0.89
-5 X 145 127 2:09 ext2 500M 1.12
-3 X 231 217 3:26 ext2 500M 1.12
-4 kde 393 316 4:31 ext2 2G 1.45
-4 kde 393 316 4:41 ext2 2G 1.40
-4 kde 393 316 4:43 ext2 4G 1.39
-5 all 367 337 5:02 ext2 500M 1.22
-4 kde+gnome 454 370 5:50 ext2 4G 1.30
-4 kde+gnome 454 370 6:10 ext2 4G 1.23
-4 kde+gnome 454 370 6:24 ext2 4G 1.18
-5 all 489 406 5:55 ext2 4G 1.38
-5 all 490 406 5:18 ext2 1G 1.54
-4 kd+gn+dsk 594 494 7:31 ext2 4G 1.32
-4 prev+dev 827 696 10:27 ext2 4G 1.32
-4 all 1100 988 19:34 ext2 1G 0.94
-3 all 1640 1331 31:33 ext2 2G 0.87
-3 all 1740 1434 39:38 ext2 4G 0.73
-2 all 2252 1843 54:40 ext2 4G 0.69
--1 all 2490 2048 61:02 ext2 4G 0.68
-
-# perl -ape '$F[4] =~ /(.*):(.*)/; $r = $F[2] / ($1 * 60 + $2); s|\S+\s*$|sprintf "%.2f\n", $r|e;'
+8.1pre_rc1 rpm df time/rpm rpm/df
+
+6 () 82 66 1:26 ext2 500M 1.05 1.24
+5 () 89 71 1:38 ext2 500M 1.10 1.25
+3 () 94 77 1:46 ext2 500M 1.13 1.22
+5 X 145 127 2:09 ext2 500M 0.89 1.14
+3 X 231 217 3:26 ext2 500M 0.89 1.06
+4 kde 393 316 4:31 ext2 2G 0.69 1.24
+4 kde 393 316 4:41 ext2 2G 0.72 1.24
+4 kde 393 316 4:43 ext2 4G 0.72 1.24
+5 all 367 337 5:02 ext2 500M 0.82 1.09
+4 kde+gnome 454 370 5:50 ext2 4G 0.77 1.23
+4 kde+gnome 454 370 6:10 ext2 4G 0.81 1.23
+4 kde+gnome 454 370 6:24 ext2 4G 0.85 1.23
+5 all 489 406 5:55 ext2 4G 0.73 1.20
+5 all 490 406 5:18 ext2 1G 0.65 1.21
+4 kd+gn+dsk 594 494 7:31 ext2 4G 0.76 1.20
+4 prev+dev 827 696 10:27 ext2 4G 0.76 1.19
+4 all 1100 988 19:34 ext2 1G 1.07 1.11
+3 all 1640 1331 31:33 ext2 2G 1.15 1.23
+3 all 1740 1434 39:38 ext2 4G 1.37 1.21
+2 all 2252 1843 54:40 ext2 4G 1.46 1.22
+-1 all 2490 2048 61:02 ext2 4G 1.47 1.22
+
+# perl -alpe '$F[4] =~ /(.*):(.*)/; $r = ($1 * 60 + $2) / $F[2]; s|\S+(\s+\S+)\s*$|sprintf("%.2f", $r) . "$1"|e;'
+# perl -ape '$r = $F[2] / $F[3]; s|\S+\s*$|sprintf "%.2f\n", $r|e;'
+
+9.0beta1
+
+5 () 89 71 1:35 ext2 500M
+3 X 240 231 3:41 ext2 500M
+5 all 306 293 3:36 ext2 500M
+4 all 808 731 6:48 ext2 1G
+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:
+- do not halt the box when "halt" is used
+- no sysreq
+- kdm has gnome entry whereas gnome is not installed
+ => choosing gnome gives a flashing black screen and kdm reruns
+
+- repartition of packages on various CDs is crap
+
+- bootloader: handling of multiple disks is more powerful in redhat, but more
+dangerous (proposed to everyone, but not proposed especially to people having
+a dangerous combinaison)
+- why still asking about lba32!!
+
+* anaconda 7.3 vs 7.3.92
+ - skipddc option (locks some machines) ??
+ maybe because it's done at the beginning of their install?
+
+ - LVM
+ - lvm_dialog_gui.py
+ - Physical Extent 1MB 2MB 4MB ... 16GB
+ (vgcreate -s ${PhysicalExtentSize}k)
+ - see lvm_sanity_checks.txt, take them
+ - lvm on / (mkinitrd)
+ - handle upgrade when lvm on /
+ - vgcreate -An (ie --autobackup no) ??
+ (also for lvcreate vgchange lvremove
+ - see clampPVSize in lvm.py
+
+ - RAID
+ - Number of spares ??
+ - mkraid --dangerous-no-resync ??
+
+ - progress bar in ext2 formatting
+
+ - ctrl-alt-suppr during install => reboots
+
+ - user names: the regexp is [a-zA-Z][^\0-\x20:,\n]* or [A-Za-z][A-Za-z0-9]{0,7} (depending on wether you're in text mode or graphic mode :)
+ - check the user name created is not a system one (see systemUsers)
+
+ - SMB authentification
+ - cloneDrive ?
+
+ - edd dropped (was to detect lba32 capability, which was dumb)
+
+ - reconfig type of installed removed (was something between install & upgrade)
+
+ - ddcprobe code removed -> moved to kudzu
+ changes: sigprocmask and movl added around lrmi_vm86
+
+ - $ENV{GDK_USE_XFT} = 0
+
+* kudzu 0.99.52 vs 0.99.55
+ - blacklisting modules.pcimap e100 and bcm5700
+
+* hwdata 0.14 vs 0.32
+ - dropped XFree86 3.3.6 support
+
+ - upgradelist: list of (old_module => new_module) for upgrades
+ (a simpler way would be to drop entries in modules.conf that concern
+ obsolete (and not available anymore) modules, relying on auto-detection to
+ add the new one)
+
+ - CardMonitorCombos (for laptops)
+
+redhat 8.0:
+
+ (legend: + pros - cons / notice)
+
+ Install steps difference
+ + firewall wizard
+ + md5sum check when booting install
+ - no upgrade packages installation during install
+ - no services configuration (chkconfig)
+ - no printer configuration
+ - no autologin
+ - no real small installation
+ - no small packages (groff-for-man, perl-base...)
+ / still propose non-MD5 or non-shadow passwords
+ / post install tool (firstconfig)
+
+ General install behaviour, eye-candiness
+ + package selection a la Windows
+ + in language selection languages displayed in native language
+ + candy timezone selection
+ + help uses bold/italic/big-font
+ - no one CD install
+ / not using fb at install
+ / python + gtk2 vs perl + gtk
+ / ask many things before doing anything (esp. delayed partitioning, swap not available when selecting packages!(?))
+ - more width-hard-coded dialog boxes (harder for translations)
+ / use a loopback file from the CD then copied on system
+
+ Partitioning
+ - no diskdruid after install
+ - no partitioning wizard
+ - no devfs
+ - no xfs (but now has reiserfs/jfs)
+ - no loopback crypted fs
+ - no file swap (?)
+ - no supermount
+ + LABELed entries in fstab
+ + progress bar while formatting
+
+ Bootloader
+ + bootloader configuration less awkward
+ - no automatic handling of bios ordering with many harddrives
+ - propose to manually change bios ordering even with one harddrive
+ - LBA32 checkbox
+ / defaults to grub
+
+ Network
+ - awkward question apropos hostname when using DHCP
+ - no default choice for netmask/gateway/DNS based on IP
+
+ XFree
+ - no wacom configuration
+ - no graphic card multi-head configuration
+ - no ATI tvout configuration
+ - no prompt for logout after changing X config
+ - VideoRam prompted for everybody
+ / no XFree3
+ / no Utah GLX
+ / load module "fbdevhw" "record", but not "v4l"
+ / always load module "glx" and "dri"
+
+ Keyboard
+ - many non useful keyboard entries (eg: latin0)
+ - no way to choose the toggle key to choose between latin/non-latin keyboard
+ - no loadkeys done during install for console
+
+ Mouse
+ - no way to test mouse choice
+ - mouse choices include many non-useful choices, badly sorted
+ (Intellimouse must be sought in Microsoft whereas it's used by many others)
+
+ Multimedia
+ - no bttv configuration (including webcams)
+ - missing audio modules (alsa, audigy...)
+
+* anaconda 8.0 (rel. 4) vs 8.0.92
+ - use vte instead of gnome.zvt
+ - add alpha (axp) partitioning code
+ - remove label "nofb" and options "devfs=nomount ramdisk_size=9216" from syslinux.cfg
+ - edd (ddc probe) moved to kudzu
+ - add "-Odir_index" option to ext3 tunefs
+ - screenshoting in directory /root/anaconda-screenshots/ instead of using exported display
+ - assembler code change in cpuid, smp.c
+ - there is some code to read the "raid superblock" (see doGetRaidSuperblock in isys/isys.c)
+ - new code for choosing to upgrade or not
+ - hack to remove /var/lib/rpm/__db.00[123] (with comment "make sure that the rpmdb doesn't have stale locks :/")
+
+* anaconda 8.0.92 vs 8.0.93 (rel. 0.20030108205243)
+ - drop xmode (bring up text mode in a remote xterm)
+ - code available to check the ability to do a mkbootdisk
+ (check size of vmlinuz + initrd, check size of floppy)
+ - drop "-Odir_index" option to ext3 tunefs
+ (with comment "add back -Odir_index when htree is safe")
+ - waitForLink added to loader2/net.c using added ethtool thingy (get_ethtool_link_status, get_link_status)
+ - OS390 fdasd & z/IPL changes
+ - for kickstart, new option "--ignoremissing", (there were --ignoredeps and --resolvedeps)
+ - /usr/kerberos/lib in LD_LIBRARY_PATH
+ - these are symlinks so you cant make them mount points
+ otherexcept = ['/var/mail', '/usr/bin/X11', '/usr/lib/X11', '/usr/tmp']
+
+ elif self.mountpoint in otherexcept:
+ return _("The mount point %s cannot be used. It must "
+ "be a symbolic link for proper system "
+ "operation. Please select a different "
+ "mount point.") % (self.mountpoint,)
+
+
+* hwdata 0.47 (redhat 8.0) vs 0.62 (redhat 8.1 beta1 phoebe)
+ - pcitable & upgradelist
+ - replace eepro100 with e100
+ - switch 0x1106 0x3059 "via82cxxx_audio" to "unknown"
+ - Cards
+ - remove most swcursor with comment:
+ # mharris - Nov 23, 2002 - Commented out the swcursor option, if it is still
+ # needed, then lets disable it right in the driver completely, or possibly
+ # fix it.
+ - using driver "nv" for GeForce4 and Quadro4 with comment:
+ # mharris - Nov 23, 2002 - enabling "nv" driver for GeForce 4 and Quadro 4 as
+ # CVS XFree86 support them now in 4.2.99.2
+ - special options "externDisp" and "internDisp" for NeoMagic cards
+ together with CHIPSET
+
+* kudzu 0.99.69 (redhat 8.0) vs 0.99.83 (redhat 8.1 beta1 phoebe)
+ - don't read eepro100 entries from the pcitable
+ - handle compressed modules
+ - many changes in PS/2 mouse detection, and handle "intellips/2" mouse
+ - changes in PnP serial modem detection
+ - use "udf,iso9660" option for cdrom entry in fstab
+ (note that comma separated choice of filesystems *is* allowed, though not
+ documented in fstab(5))
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/Makefile b/docs/drakfont/Makefile
new file mode 100644
index 000000000..b70b4a0c8
--- /dev/null
+++ b/docs/drakfont/Makefile
@@ -0,0 +1,57 @@
+#
+#
+# Project : Projet Libre
+# file : pki.tex
+# Date : Thu Jun 21 19:26:19 CEST 2001
+# (o- Id : DUPONT Sebastien
+# /\ mail : <dupont_s@epita.fr>
+# Y_/___________________________________________
+#
+
+RM = @rm -f
+
+CD = @cd
+
+ECHO = @echo
+
+PRINTF = @echo -n
+
+FILE = drakfont
+
+DVI = @dvips -j0 -Pcmz -Pamz -o
+
+PS = @ps2pdf
+
+LATEX = @latex
+
+normal :
+ $(ECHO) '/*--LATEX--*/'
+ $(LATEX) $(FILE).tex
+
+all :
+ $(ECHO) '/*----------latex -> dvi -> ps -> pdf------------'
+ $(ECHO) '/*--LATEX--*/'
+ $(LATEX) $(FILE).tex
+ $(ECHO) '/*--DVI -> PS--*/'
+ $(DVI) $(FILE).ps $(FILE).dvi
+ $(ECHO) '/*--PS -> PDF--*/'
+ $(PS) $(FILE).ps
+ $(ECHO) '/*--That s all--*/'
+
+
+ps : normal
+ $(ECHO) '/*--DVI -> PS--*/'
+ $(DVI) $(FILE).ps $(FILE).dvi
+ $(ECHO) '/*--That s all--*/'
+
+pdf : ps
+ $(ECHO) '/*--PS -> PDF--*/'
+ $(PS) $(FILE).ps
+ $(ECHO) '/*--That s all--*/'
+
+clean :
+ $(RM) $(FILE).toc $(FILE).log $(FILE).aux *~
+
+fclean :
+ make clean
+ $(RM) $(FILE).ps $(FILE).pdf $(FILE).dvi
diff --git a/docs/drakfont/dia_srcs/drakfont.dia b/docs/drakfont/dia_srcs/drakfont.dia
new file mode 100644
index 000000000..c4502a12e
--- /dev/null
+++ b/docs/drakfont/dia_srcs/drakfont.dia
Binary files differ
diff --git a/docs/drakfont/dia_srcs/drakfont_install.dia b/docs/drakfont/dia_srcs/drakfont_install.dia
new file mode 100644
index 000000000..737c19b9f
--- /dev/null
+++ b/docs/drakfont/dia_srcs/drakfont_install.dia
Binary files differ
diff --git a/docs/drakfont/dia_srcs/drakfont_uninstall.dia b/docs/drakfont/dia_srcs/drakfont_uninstall.dia
new file mode 100644
index 000000000..c06f92dd6
--- /dev/null
+++ b/docs/drakfont/dia_srcs/drakfont_uninstall.dia
Binary files differ
diff --git a/docs/drakfont/drakfont.jpg b/docs/drakfont/drakfont.jpg
new file mode 100644
index 000000000..898dfe440
--- /dev/null
+++ b/docs/drakfont/drakfont.jpg
Binary files differ
diff --git a/docs/drakfont/drakfont.tex b/docs/drakfont/drakfont.tex
new file mode 100644
index 000000000..035adf3a9
--- /dev/null
+++ b/docs/drakfont/drakfont.tex
@@ -0,0 +1,152 @@
+%\documentclass[pdftex]{article} \usepackage{hyperref} .
+%\documentclass[pdftex,onecolumn,11pt,oneside]{article}
+\documentclass[onecolumn,11pt,oneside]{article}%seminar}
+%\usepackage[pdftex]{hyperref}
+\usepackage{isolatin1}
+%\ifx\pdfoutput\undefined
+
+\usepackage[dvips]{graphicx}
+%\else
+%\usepackage[pdftex]{graphicx}
+%\usepackage[pdftex]{hyperref}
+%\usepackage{type1cm}
+%\fi
+%\pdfoutput=1
+\usepackage{color,graphicx,shortvrb,epsfig,verbatim,tabularx}
+\usepackage{url}
+\usepackage{hyperref}
+\urlstyle{sf}
+\usepackage{fancyheadings}
+\usepackage{program}
+\usepackage{ulem}
+\usepackage{amsfonts}
+\usepackage{xspace}
+\usepackage[english,francais]{babel}
+\pagestyle{fancy}
+\newcommand{\trtitle}{Drakfont\\ fonts importation for mandrake linux}
+\DeclareGraphicsRule{.ps}{eps}{.ps}{}
+\DeclareGraphicsExtensions{.ps}
+\renewcommand\star{{\ttfamily*}}
+\let\package\textsf
+\newlength{\gxlen}
+\settowidth{\gxlen}{\package{graphicx}: }
+\newcommand\gs{\makebox[\gxlen][l]{\package{graphics}:}}
+\newcommand\gx{\makebox[\gxlen][l]{\package{graphicx}:}}
+\MakeShortVerb{\|}
+\begin{document}
+\title{$Drakfont$ fonts importation for mandrake linux}
+
+\begin{figure}%[ht]
+\begin{center}
+%\caption{Exemple d'image}
+\mbox{\epsfig{file=mandrake.ps}}\\ %,height=1in,width=2in}}\\
+%\mbox{\epsfig{file=carte_.ps,height=1in,width=2in}}
+\end{center}
+\end{figure}
+%\begin{figure}
+%\begin{center}
+
+%\end{center}
+%\end{figure}
+\author{Dupont Sebastien \\ sdupont}
+\date{05/10/2001}
+\pagestyle{myheadings}
+\markright{\scriptsize \trtitle}
+\title{\bf \trtitle}
+\maketitle
+\section{drakfont Future Overview}
+
+\paragraph{Fonts import :\\}
+\begin{itemize}
+\item pfb ( Adobe Type 1 binary )
+\item pfa ( Adobe Type 1 ASCII )
+\item ttf ( True-Type )
+\item pcf.gz
+\item Speedo
+\item pfa ( Adobe Type 1 ASCII )
+\item ttf ( True-Type )
+\item and Bitmap (PCF, BDF, and SNF)
+\end{itemize}
+
+
+\paragraph{Features}
+\begin{itemize}
+\item Install fonts from any directory
+\item Get windows fonts on any vfat partitions
+\item UN-installation of any fonts (even if not installed through drakfont)
+\end{itemize}
+
+
+\paragraph{Support}
+\begin{itemize}
+\item Xfs
+\item ghostscript \& printer
+\item Staroffice \& printer
+\item abiword
+\item Koffice, Gnumeric, ... studying
+\item all fonts supported by printer
+\item ( aliases by RENDER in Xfree86 .... -> later )
+\end{itemize}
+
+
+\section{Window interface:}
+\begin{itemize}
+\item
+\item Fontselectiondialog widget
+\item Command buttons under Fontselectiondialog (like the actual frontend).
+\item Commands buttons:
+\item import from windows partition.
+\item import from all fat32 partitions and look for winnt/windows/font
+\item and import all (delete doublon) but don't import if already exist.
+\item import from directory
+\item look for if it exist before for each font and not delete the original.
+\item (replace all, no, none)
+\item expert options:
+\item ask the directory, and look for if it exist before
+\item if it exist ask: (replace all, no, none)
+\item uninstall with list per font type
+\item Expert additional switch
+\item option support: ghostscript, Staroffice, etc...
+\item check-button. (by default all check)
+\item Printer Application Fonts Support...
+\item check-button. (by default all check)
+\end{itemize}
+
+\section{Command line}
+\paragraph{Font Importation and monitoring application\\}
+\-\-windows\_import : import from all available windows partitions. \\
+\-\-strong : strong verification of font.\\
+\-\-install : accept any font file and any directory.\\
+\-\-uninstall : uninstall any font or any directory of font.\\
+\-\-replace : replace all font if already exist\\
+\-\-application : 0 none application.\\
+ : 1 all application available supported.\\
+ : name\_of\_application" like staroffice for only this one.\\
+
+\section{Graphics}
+
+to visualize the conceptual graphics please see:\\
+drakfont.jpg\\
+drakfont\_install\.jpg\\
+\& drakfont\_uninstall.jpg\\
+
+
+
+%\begin{figure}%[ht]
+%\begin{center}
+%\caption{Exemple d'image}
+%\mbox{\epsfig{file=drakfont_install.ps}}\\ %,height=1in,width=2in}}\\
+%\mbox{\epsfig{file=carte_.ps,height=1in,width=2in}}
+%\end{center}
+%\end{figure}
+
+
+%\begin{figure}%[ht]
+%\begin{center}
+%\caption{Exemple d'image}
+%\mbox{\epsfig{file=drakfont_uninstall.eps}}\\ %,height=1in,width=2in}}\\
+%\mbox{\epsfig{file=carte_.ps,height=1in,width=2in}}
+%\end{center}
+%\end{figure}
+
+\end{document}
diff --git a/docs/drakfont/drakfont_install.jpg b/docs/drakfont/drakfont_install.jpg
new file mode 100644
index 000000000..795a5a711
--- /dev/null
+++ b/docs/drakfont/drakfont_install.jpg
Binary files differ
diff --git a/docs/drakfont/drakfont_uninstall.jpg b/docs/drakfont/drakfont_uninstall.jpg
new file mode 100644
index 000000000..711f28e77
--- /dev/null
+++ b/docs/drakfont/drakfont_uninstall.jpg
Binary files differ
diff --git a/docs/drakfont/mandrake.ps b/docs/drakfont/mandrake.ps
new file mode 100644
index 000000000..1af9d5bb4
--- /dev/null
+++ b/docs/drakfont/mandrake.ps
@@ -0,0 +1,534 @@
+%!PS-Adobe-3.0
+%%Creator: GIMP PostScript file plugin V 1.12 by Peter Kirchgessner
+%%Title: /home/seb/drakfont/mandrake.ps
+%%CreationDate: Fri Oct 5 18:28:29 2001
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 424 84
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228 14.173228 translate
+% Translate to begin of first scanline
+0.000000 69.000000 translate
+409.000000 -69.000000 scale
+% Image geometry
+409 69 8
+% Transformation matrix
+[ 409 0 0 69 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 409 string def
+/gstr 409 string def
+/bstr 409 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData: 29637 ASCII Bytes
+colorimage
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+bl7e@q"4E6s+13Ds*t~>
+bl7e@m,@els+13Ds*t~>
+bl7e@T5=@Ts+13Ds*t~>
+c2RqDnG2D<JcC<$U&TW~>
+c2RqDl/9_PJcC<$U&TW~>
+c2RqD]71%QJcC<$U&TW~>
+cMn+JnG;n/i;S<-JcDJEJ,~>
+cMn+JmbuTmh#;m)JcDJEJ,~>
+cMn+Jie^A<a8UYiJcDJEJ,~>
+cMn+DnbMk)f)($uJcDJEJ,~>
+cMn+DjkIhQchi:nJcDJEJ,~>
+cMn+DST5n_V>GiDJcDJEJ,~>
+ci47Jn+l_KeBdl?s+13Es*t~>
+ci47Jkhjh)WP\C\s+13Es*t~>
+ci47J^4K&h%!hSus+13Es*t~>
+d/OCNnbW%Rn_2+VJcC<$UAo`~>
+d/OCNn);p@^TP0>JcC<$UAo`~>
+d/OCNj+q1n%LcV6JcC<$UAo`~>
+d/OCHnG2eMo&%LUJcC<$UAo`~>
+d/OCHjkS+u^p135JcC<$UAo`~>
+d/OCHTl`:/%Lk8_JcC<$UAo`~>
+lMgqbp\sLY$2s;fp\"1NjN$P:s+13Es*t~>
+lMgqbp\sLY$2s,He&K8A[BAeGs+13Es*t~>
+lMgqbq>T^[$2r)%;B-/V%3+S`s+13Es*t~>
+li.(dk/mMerri>mqY9a_oE+4!k(3P`s.]OD~>
+li.(dk/mMersJbqin;Gk_SWgdk(3P`s.]OD~>
+li.(dmFhC'rsJbkMeO[R%M'!Pk(3P`s.]OD~>
+m/I4fjeV8=m/I1an+l\UoE4C(gAQU&JcDMFJ,~>
+m/I4fje_>>m/I4bjk\5#rk\cKUso9ns+13Fs*t~>
+m/I4flbMl_m/IIiWH^N?%Ls!Y%&s2Vs+13Fs*t~>
+mJd@ggl^4WrU'UfrU9RVp&4Lbm*a;WJcC<$U]5i~>
+mJd@gglg:XrU'UfrTiCk`r3aV];N^FJcC<$U]5i~>
+mJd@gjg<_0rU'UfrR6L%+8lZO%1J$fJcC<$U]5i~>
+mf*Iik)["5qX+:crq-'^p&+Famb#_TJcC<$U]5i~>
+mf*Iik)d(6qX+:drq#.'b/=1p"21eLoR[$ns.fUE~>
+mf*IilEnChqX+:drp>Y\/e\'l!Xrf8JcC<$U]5i~>
+n,F"!nYD2sp&>!hp%nOYp@\.TrV6BpqX41Qqt(!\hT52;s+13Fs*t~>
+n,F"!nYM8tp&>!hm-F!$l0Rm2rV6BqqW?VZ`;IIS^p(69JcC<$U]5i~>
+n,F"!o>7BVp&>!h[uQH0T!cSkrV6BqqQkK3(&JIB%70K7s+13Fs*t~>
+n,FI)^NR3SrVuomhY$U:q"X[\qY0^VpA+[ds82B`p\"CT!oq>fJcC<$U]5i~>
+n,FI)^j!BUrVuomg;hIdf%Jg6kNM-qn+?PWs82-AeAqF&!jo2uJcC<$U]5i~>
+n,FI)d@e5>rVuom_BM'9>A8)$G_hZm`nC%as80]m<Zq5K!Y$ODJcC<$U]5i~>
+nG`[jf8YC8q>UBuqVJd?m.L&NpAajeq#1!kp%eIZp%e4]kKW1@s+13Fs*t~>
+nG`[jf8YC8q>UC0qVJQ`]>_n8c-Xnhg"Y?>kiqElf#bi+_?.6OkCNYas.fUE~>
+nG`[jhm8^'q>UC0qVI;C%2gQM4%)eE@rZaAKVFlk?7QZc%Kd4N"m:I:JcDMFJ,~>
+nc&gmm]UN9m/I"a#6+8C]\r,HrUg-_rq??c!VZ3]oE4O8iVnE.JcDPGJ,~>
+nc&gmm]UQ:m/I"a(&mjRYd1mV_SX4/`lQ?JcdC7lcH*p!_?7KSh>W!*JcDPGJ,~>
+nc&gmnApp+m/I"a(&mjRCCL^_%M'-d*@NX&6:t6X5:%$?%Km:P%*&9ts+13Gs*t~>
+nc&dibD(8oq>C6srp\(Nj6cI(oE4^PjnOE,JcDPGJ,~>
+nc&dibD(;pq>C6srp\(:[(O6N_?7]o`5D>d"2VXrpjrHrs.o[F~>
+nc&dif<14fq>C6qrp\&r%J^M6%g3L](D78P%KT)pJcC<$V#Pr~>
+o)Apnm'1H"lMg\\#6!f&dH0iglLY2OnG*"XrsA\uq"XjgqtB^[JcC<$\c70~>
+o)ApnmBLT$lMg\\#6!f&\@0,fm(rqD`5^X+rqQL"rpo1Err;l[jSON.JcE:\J,~>
+o)Apnm`LrrlMg\\"T@T$+q<fI"VDOmC#f3frsA\WEU3W(qji66JcC<$\c70~>
+o)Amjb*?Map%eUlqr>9CjmVg,oEY'_p\"4Rr;QWo$2s&VmeZnNp>>Uqs+13\s*t~>
+o)Amjb*?Pbp%eUlqr>2i[_BTE_?e'"cIM%Anb`=`rsAYegtV](lHe5ZJcC<$\c70~>
+o)Amjf"$U`p%eUjqr=df%I4K1%hp3M>Ci]roD\[f$2s$mBDVSN(rc6#s+13\s*t~>
+o)Am`[;pHKrV6BrptE13kO@d/(%q:pq"X[Yp%\Lcs8M65p?qSEe(skOs+13\s*t~>
+o)Am`[W6TMrV6BrptE!V\A.@H(;n2:dFR%+k3DR:s8W)^b0fDEf>-5=JcC<$\c70~>
+o)Am`bFssSrV6BqptC`;%I4K?%hp-C8mQ7RKs0)+s8W)^Q8?5H>YX&NJcC<$\c70~>
+oD]!me>?o:lhCD`rq+[OhWjXqo`+Uap(-omq"aUUq=E"uo]5Yem/DS9JcE:\J,~>
+oD]!meYd,>lhCD`rq+[DZ+@a9_A'o,aNMlWf%T6KmIg(uccXqbaR&nWs+13\s*t~>
+oD]!mgr,DGlhCD_rq+ZT%1VS4'b:op,r7b[?>XPE\DZu+?7Vct]^5WKs+13\s*t~>
+oD]!f^6W?3nb2terp\+KipH=!o`+Uap($ilq"O+(guI)Go(DbUrdk*#s1JA^~>
+oD]!f^6`H5nb2terp\+:Zb4-;_@si+aNVuZf\>QHa2#=.eDfTZqu20HJcEC_J,~>
+oD]!fcFJk?nb2tcrp\*'%H\-7%h]a,2F:;PDg@Us1*L+oT;9Krrdk*#s1JA^~>
+oD]!]YCC#np\"OjrThAHk3qp%o_nFnp@?/4i8NJDeEQYKc-"5QrlP;YVY^&e!rCEmrQ58a`3ciI
+d/OCNp#k&U\;/o>h#@ZZp#k&V\rFr4iVs>cn`8KObf\)MdFe!gir92]puU2Tbl5cb^&\&$s*t~>
+oD]!]YCC#np\"OjrThA1\%]]>_A'o-aN2ZXdCHg.]=keag\&b7bKS30b6#MWqY1!kqUNslb6?&0
+`3ciId/OCNp#k&U\VT)@h#@ZZp#k&V]8k/7iVs>cn`8KObfe/NdFn'hir9DcpuU2Tbfe2P^V9T9
+s*t~>
+oD]!]aJt!3p\"OhrTh?P%H@p+%hp!3-mB]:J%7BArWNL]p"S9UgY;_]!n>*`p\t<kinaRe"PMAM
+b59Qc#laScjPJ7fjo4'8#laScjPS@lgAU"1%0#nbjk\\Fg=b?Co`!kM"oe>aj5&JhgAfS$qjmb;~>
+o`#-pfr/arg&(FA"oIDohWO@goFpf^hTE^[d+I+3\@B)hioYiBMk'a<!fM0fq#:d$hS6+`T:M*e
+C1Mkcdf0[Qg;:S9ZD;SVjSds8$N8Ym]Xb>FH>(\%jSoMbptsB7]<eK2rgs@hW2mGdrT4%`rTDG@
+ZDXGrT)saenX]]1~>
+o`#-pfr/asg&(FA"oIDmZ+.O/_@s_sYb@bpYJAE'\@B)hioYlDMk'a<!fM3gq#:d$hS?1aT:M*e
+C1Mnddf0[Qg;:V:ZD;SWjSds8$N8Ym]XkDGH>1b&jSoMbptsE9]<eK2rgs@hW3!MerT4%`rTDG@
+ZDXGrT)safnX]]1~>
+o`#-phSl(>g&(FA"T.;a%1V;,rs]MI#nAC@F#gb?\]3XkXJrM=rP&E>SaH4P%/o8;a1oC'[\K.H
+S+>#-$N9&:eC)RXUQ4F6hZ!r]j3uH'bep?>eGA8+#laY_hUg0!`PMPg"iA7"cKP5grs&Ggh:9`f
+_>_1NY+"mOs*t~>
+o`#-k`1LULi;W?J"o6r`jR)O$oH!MhhT2q%V6%_Zamms?io]goWKMCCDf9T7A7i^Wq>Uls_PM^#
+EG/W[H],6!df0[K[s3%5GACN#iVq^6$MV#aF)?#9>[lFajo6"lim#-6Ob7puCMe$3G'nq%P-t2M
+rseqc_lA`EF(f,p@pNR+qYpZso@s5Bs*t~>
+o`#-k`1U[Ni;W?J"o6r[[Cj?=_B$G(Yb-l2RA-dea2uK^io]goWfhOEDf9T7A7i^Wq>Uls_PM^#
+EG/W[H]5<"df0[K[s<.7GACN$iVq^6$MV&bFDc2;>[uLbjo6"lim#-6Ob7puCMe$3G'nq%PICAO
+rseqd_lA`EF(f,p@pNU,qYpZso@s5Bs*t~>
+o`#-kd(bp"i;W?J"8U`5%HJ$!%2'$U$Vu+1*4lc6i8Wnik-LYHT`1PdTU(S\rV?I%p=$pYT:h[3
+H]"0#n'_4CpW&ntT;8$8L>i-grsJMAUn"!NSr/*QqrRhkr9<%c`3ueET:MRGTqnTfZa\-TkPl"i
+kL[_[W1f]IQ'I8]k5,)[rq>LQW;hA~>
+o`#*d[?tH4iq!*Orq+U^kO]kem,#gfX.uc3c/-+Vg@4Y3s8V`JaII`jBOk^aA?5P&rseqYZA*4-
+An"tc][5[4df0XJgUa)+DIZpqkM?.FpYNZaKQL^.E9$r[rtYF__PW-/@pN2?>?b?@A7fLoF`b+j
+kl1kZ]qg0nA7#49!`N1[rVm*#m+]aaPkD!TJ,~>
+o`#*d[?tH5iq!*Qrq+UM_o(`U+2GLmT8\SmWkcK^ZHL,*n,E@eo\RZZIq35'An#;Pq>1+#rR\?0
+D.R<g>][R)iqLn$$2<2cTmU`f>^5GfrsJMW^Sup0@p<p4roX4qqq/c_LiHp1=B\p5>[_/TBQ/*:
+\,>Ii%J7B1J8/V$='/O*;cr&Xrs&Gggrugaor.n@~>
+o`#*daL[Uhiq!*Qrq+T=&eX=;rs]qU$49S'^m5IRb>Su4rr<#jhT2duQC+#+P`30KqYq$'hor9p
+R$j.jL:kmmpX9'JpY39ST:_@%Np#6u$MWDlWLorNKS\[fk5Q1nimu&PTTkChKS>2>Od;B(T;/.&
+r94.io[1OUS<f1eIXHKcG2iK##6"&QgW-\oW;hA~>
+o`#*_Y**4%ipm$Orp7u)p$;5no'G5SYcFP#`80S<da$mpg!]Zqs8DcYY`!(2BkCmdRIp@U%J7;r
+C2Rg"@9\fPp%n[9rsAYqkKfKE@U+lYh>[f[o]t&"L1=JFlK8*_qpN'DH"C;]<*!I??<^cDA7fIh
+AT[29lMhb#f;aXCARA><Dg6PQL$&F8rp%YE[[qAdm&9r7~>
+o`#*_Y**4&ipm$Orp7_N`p:Jb^q6hCN/3h#`80S%YKl1M]Wh22s8DcYY`!(3BkCmdRIp@U%J7;r
+C2Rg"@9eoRp%n[9rsAYqkKfNF@U+lYh>[f[o]t&#L1=JFlK8*_qpW-EH"C;]<**RB?X-rFA7fIh
+AT[29lMh1hf;aXCARA><DuP"jL?AO9rp%YE[[qAem&9r7~>
+o`#*__mY_]ipm$Orp619+6j@9%3>la$;[D7h<&&XcK!"r-M[W@rV>`pZBLK>R$E]4o_SRso[(%8
+R%0S,JXtfnqYnqC$2sJYcaTp<K:M;arsAYrld`SMP_,=gk5Q7phU/s3R#QQ;FaJO^I"dTHR$jJ2
+Rd9t<rsAY\`iu#$O*Z#%reLuJk5YJ\mb?C>^7Lk]W;hA~>
+o`#*ZUkW8cipcsMp"fB8mIV+`m,#gfX.uc7h=(70ftQD>j2T+,rVm5nY_6SBEG/onK^em=$iSSQ
+AoDX/BO>#Io$.1>roKu.@9o]!gA_B@WJ4hdV"!RI)#`C(R!*(K;HJLGZF-p8L1t./AnPUc]DUso
+)>M+?H=pbn?DG-N`Pp?ss8VuHXd"9O@X..9s*t~>
+o`#*ZV1rAeipcsMp"%[8mD9RQ]<IodLmP-[h=(70^o$&bj1r.lrVm5nZ%Q\DEG/onK^em=$iSSQ
+AoDX/BO>&Jo$.1>roKu.@:#c"gA_B@WeOqfV"!RI)#`C)R!*(K;HJLGZF-p8LM:70AnPUd]_q'p
+)>M+@H=pbn?DG-N`Pp?ss8VuHXd"9O@X74:s*t~>
+o`#*Z_lo/TipcsMorV=Eljj%)&ISpQ:SPe`n,)Q69AoU*Sm:^^rsJ57Xc8[=R[9,,nGE4nrS5>X
+Od;]1Ne"S/c2S%Jjhn-]K!+Xtrs%],YE=C=nE9fgrT2G=UmR0gG)iE)[BQToO-H$"R?WcQr9F;"
+ps6[OR?rbYV7X[b`ROGXs81Tm\#Gs[PNf%GJ,~>
+o`#*USpk'WipcsMo^2GHmdq7aj3"U,UTDDin,*+anBoYPs7bI*nbrIpl)/<.WHrAm@s759rsSJ2
+I:ACfH"^Ghc1oQ`#Q</JHsU*ip"TKOrR.Hg?!Y;?kPlCl^8$'h@ola#aP>qAk2+1GFD,9!@UY`"
+lMhao^RTFYA7Bc1lgXH7o_\[gps#U\B4YY(l)=W4~>
+o`#*UT710YipcsMo\e<Am_T^R[@rP8Q`A![n,*+anBoYPs7bI*nbrIpl)8B/WI&Gn@s@;:rsSJ2
+I:JIhH"^Ghc1oQ`#Q</JHsU-jp"TKOrR7Qi?!Y>@kPlCl^8$'h@ola$aP>qAk2+1HF_GB"@UYc#
+lMhao^moOZA7Bf2lgXH7o_\[gps#U\B4YY)l)=W4~>
+o`#*U^T!9KipcsMoS[$&m1'g>$OR5:U;YmVqu6WbdF%F_pYacqrVm5h`LVjeVOa*;PjJ;I$hVcD
+Ln(08RYu[Aps&gDrS#,eNe"q<g]%NWg;9eIJ&_3FrttFU_PirgJp*g.gudh_hT2LdS!f\/M6-I:
+ru(IQ]q_!^O-@uWnF?&@qu?]ke&%uMR$+!(W;hA~>
+o`#-TSpXpVgA^[C"T@]_p\""I$M!,kX.uc7h=(7?rr39#nF?DUrqQ0`rr3B*gRr(l_2W\Q@;"d$
+rs\kUW+'bVOa^kHB&<L2rs/AEVfl9Mg%sJ'#Pc0+F'E),qrn%trnXZ6D.[6aLXGVgrr<#sm`B`\
+>$>!/P4JSO$NB_ai7ci8j6?C=rVn,AnE]E#]pj(TASZtFkNV-or9Wb8k/F0@AnGb*cfjZYk3)`H
+s*t~>
+o`#-TT6t$XgA^[C"T@N>dDbRk$Ga!9LmP-[h=(7?rr39#nF?DUrqQ0`rr3B*gS&.n_2`bR@;+j%
+rs\kUW+'eWP($tIBAWU3rs/AEVfl9Ng%sJ'#Pc0,F'E,-qrn%trnX]7D.[6bLXGVgrr<#sm`Bc]
+>$>!/P4JSO$NB_ai7cl:j6?C=rVn,AnE]E#]ps.UASd(HkN_3pr9`h9k/F3AAnGb*cfjZZk3)`H
+s*t~>
+o`#-T^Sd0Lh#?mE"T?Pj8f@%,#n77L:SPe`n,*+`rs8Jjnb`@cq"=O`rsSh_^m'YkXJMAJMs($<%
+/o#$Nf(?RWL/KohYk_!#PlogUksTSqV2#Tps-RHLk+4Vkl2P"ilJBrR?NDkdI@&4s8W&caeauPL
+OslIo)8RqrqGmFjQ#7bn,!%^s!.O8nF5Vd]qLj]S#+d)n*KQAnaQ&6d_hlKR@9u)mdKW2mf'BhJ
+,~>
+p&>9rfUI1qAAA*6rr_uaq"=(I#jTO4W5RN\qu6*b%/\5;@X67aIVN;&b5VD?%K>h.I9iVgS:>$Q
+E97)srseu&j4W#8g[4q*f#-ePrVm?+nD;IBrVulhiRu`LrqQL&rp\gma3WGQSnqYIiVrfU$iTGD
+a6`g)o\S-WrVQU'rTr7if@K0ao\.C>rVlg-o=(-$>B&X%s8W)nimu]Zq>V-,le:"AlMgh`q8/\K
+BP(dkW9sT^rr`5OC0CL:32Q3Grq"sk`4`U`XfSb5[(FcZrr;`7_S!FWKl(F7COr.a[$dWS`50!q
+Y)I=3B52a`ZFI90PP;6[J,~>
+p&>9rfUI1qA\\37rri&Tfuh5$_?d`GLo&&Gn,*+Rrs\eJS76chQ@<RWB$1,Prsetr]7!t[aII`i
+>B/d(r;R6*puL,ZfA#]jm+92@rr)j+rp\difDYaKo\nKRn,E+^%K>kSdE'\f^7T4HCZ59krsSel
+f>m7Wrq,'tir/cS!r_K>rmqA<rUegbg&:pM&+d8uBNoH9rr<#tpu9oVrV?I,rTi4kf'<87s7sR(
+H>$o$D5ck$r;Qltf5"Rg=?*/Js8MWGcG[H+YcY"3['dNop&>!cb/:m&VhJu"B5<*mZa?0pm)?fO
+]!%'3AnPk)S[,f5R[!QLs*t~>
+p&>9rgq9PJM9,Ydrri%ZC+^+e%L<LO$BrEan,*+Rrs\eS]T/*!ZDj@WMUDG&rsetsc_uAqb.Xg>
+KSegir;R6*q<I#!ioT_.nD`!err)j+rq#=.ir/oVp?CVroD\Ob%K>t_hUpZCcbH$,L#N%0rsSeq
+in3f#rq>O6lM^V[!r_WLro+.MrV#=)jSf)X&+dlSRtQUXrr<#tq<Hu!rV?I,rUAn.iU?dGs7t$U
+Vja$?QaH/Zr;QltfoULXFuZ\rs8M]Rh:U3%b/hWGc-=Vmp\t3eg"4[!`N>`"R@UCobg!f8m+Bn9
+dE/\dR@0SC^<FsK]X.@8s*t~>
+p&>9qe<bGiA\.^/rri;fq=jRMoEO?eX3pA4rpKdpp:Z]!N7jqXD.7%`qYpL'qp)$GD:$7nHsp9;
+li$i-rqG-bVh9;XWO9ORQuhZnrpJ^ob/:HB[J'1A`k&CNP0Nt&ruh:,e%:laFG6?XK4J52kPk5<
+g!RmUUOqY(gr[+(Ls#\qrsnq`b-[7VNMEen_5D=oqYpL+m]_pd>`%bGs8D-*^8cn'rVca4rqG*\
+UR%RPTs=LpoX0j'AnG[iJ'@WcrVlruke@"p3O[W8qqfH+UlpI\G'/(ZK85MVUXoD3Z^lo'H#IA.
+B52C3Jph<eeu=peJpMEMAnPdpG_(KqBRfHQs*t~>
+p&>9qeX1VkB"Rm1rri;ahU9C2_?RE4UXAN,rpKdpp:Z]!N7jqXD.7(aqYpL'qp)$GD:$7oHsp9;
+li$i-rqG-bVh9>YWO9RTQuq`orpJ^ob/:HB[J'1Aa1ALOPKj('ruh:,e@_)dFbQHYK4J53kPk5<
+g!RmVUP%_)grd1)M9Gksrsnqab-[7VNMEen_5D@qqYpL+m]i!e>`%bGs8D-*^T*"(rVca4rqG*\
+Um@[QU9XUqoX0j'AnG[iJ'@WcrVlruke@"p3O[W8qqfK,UlpI\G'/(ZK85MWUt5M4[%3#(H#IA.
+B52C3Jph<feuG!fJpMEMAnPdpG_(KqBRfHQs*t~>
+p&>9qft+#DNPkS`rri;GI7tRI%L*@LG1#aTrpKdpp<0q%SCt?PSs,,KqYpL'qq8lGL!\,[W02b$
+li$i-rqPR,`2olF`Qm#^\sr*crpo:3gXjTRanGAcg!Rs[\(^fXruh:0i6o0.Trl)DXHnR#kPk;D
+j58S@_Q2qsjkJ/#Yh8pRrsnqigWd+&Zbjr8e\n',qYpL+m_u]%Jskp(s8D<?eAeW;rVca,rqPO'
+_R[J$_9)TSoYn85rg<nYWS.(GrVlruke@"p3O[W8qrZY\_R?YIUnaccXKT%E_;Y@\aM+mZV4X3E
+R@BhGX/VG]f#G5%X/DV[R@0P9V5p_tQ^[?Fs*t~>
+p&>9qh3`IuAXiDbrr_rbq"=%H"QI&9o)A"U*:U4g@'&CoM/d$8Re?^\rp@4;=eXcaRs8=HV""B`
+,Q6oOY@q-TL6-A%LjW]Uk5P%GR[TP$I!M[1Y`jQ^I!fUSo_e_Fqq]5`?s\8GL2:U?@9ecXrRd?u
+QBI#DJ()9=P_4-kL%YKFp!UC%?<qlDE-@"k@q49irr3PoWJFtfV""E_i5)4IFCTpprr4)=jN*g$
+D1d%QHuQ7cnZ7LaAnG^mH'tnN`mNB$me,iCi[s?cpsm0RKlLX0=^#'8?=RSaG_1XmkFcNo?"%;V
+An>FX>?Y-1Gg1_G>$PKHralFG?X-c<=BBS.Y5a"~>
+p&>9qh3iP!AXrJcrri#Ufuh5#_?@3>b4>PuruCO6LL@4DZANX3A"3/ks8MDqFBYBr\XRhO?DR)i
+s!.L-bcb\bCPIpiI#*/[G38esTUVC9N-orM`j(_WH$k!QI.[@:1]-"IT3tuSP_O!hCLLJ,m/>S$
+PEqAeEe)WUY`sc`AqfpXrq4^MJR2W/QuR;)L1=cKqYpL+l)KPJ?)6uirSYPgMf`H\o`"k4rT)%i
+AT!0GEdVi/qsgbCDe<TpCjDGQ^W+[PkjJ-.rSfElo_?tPTnRJs?<LH:>[CoPD0UYebNGR5>[:cL
+AnGU`?<^T8=*`&@?s6fDAH$0H@p`JE>$+jJl)t&:~>
+p&>9qh7BGJO0/-Irri"VC+^+d%Km4Eb4>PuruCOJYD'@D^TaArN32dQs8MH3UO9'!ah4I3K!+VB
+s!.L1grc+;Js;grVm*+\O66H7^q@=jZ`'b5eB>>$V5L5[Sb2j[1]-:d^Q<o(S=,b7SW\Vqm/>nQ
+\%/rNTr-Gkb.+RLPbIdMrq>6rX,)+]TUDUZYEajsqYpL+l,KrjJZeMBrTDbLZ(mDOo`"k4rT`+M
+OGT3hTr=U#qshD(T:)+9SYj!@e(<I8mIKr7rSfj#o_@Cq_6'AqNJ3%>LlR^eSu&Kjg#oo6Mi<gc
+R@0G,NerOFIZr$VOGJgWQC+)-Q&gfYLP:29l)t&:~>
+p&>9ri0S\"A;0RGrri;fq=jRLoE4*fhYld?6gCXi@*J&VNH8W?MXg`Hqok^>C=;@PQZHJ=](Q+'
+rp%Lt?rMQ_`P77JBOP/&l2U+CMfW]JAS$."@r6'lA7f4[l2CX3qprKA=]_$-c+SaGB4,#@nb_+7
+M/R3CCN#8KEbJrj>'B93oZXOW<,AJK_jGIX@p<^+rVuosf;*h$?,H=6hQhEB?sHc`mJm4bi5(4Q
+EjE?WHZ!A@o('&0AS#IdBP_jEO-ucBZ*q3U`p!F%s81?YR<W=O<Duq-Am\kN&Rf6aDJsd;KO7ef
+@q'%^@p2q3<t'#lAm/8?A79%]AR/=6<rm7(Y5a"~>
+p&>9ri0\b#A;9XHrri;`hU0=0_?70AhYld?6gCXi@*J&VNcS`AMt-iIqok^>CXVIQQucS?](Q+'
+rp%Lt?rVZa`P77JBOP/&l2U+CN,rfKAS$."A8Z6nA7f4\l2CX3qprKA=]_$-c+SdHB4,&Anb_+7
+MK!BECN,AMEbJrj>'K?4oZaUX<,AJK_jPRZ@p<a,rVuosf;3n%?GcF7hm.NC?sHfbmJm4bi5(4R
+F0`HXHu<JBo(')2AS#IdBP_jEO-ucBZ*q3U`p!F%s81BZR<W=O<Dut/B4,%P&Rf6aDJsg<Kj\"j
+@q'%^@p2q3=:B/nB3SJCART.^AR/=6=93C*Y5a"~>
+p&>9ri4>bPOe;19rri;8HV,1C%Kd.DhYld?6gDU_K$Nf-Z_<_HU%/0_qq&W>K$ro&\tP+6_"Ia-
+rpACTOEHPj`P8(;RZ`8jl2U+TT9u1=Q^+/*LkgkKQ'm\hl2CX$qr-#2L3B3*c+Td@R?3$'nb_4I
+SX,h7S=?^MQBIJoJro?up"[`^H\&04_kiuoQ%k"NrVuosh8?4OJB%<]jijTgOG\IOmJm4bkLHeg
+KsJ@mVk0*@o('PkR$a;0R[p7U[(F2obKeJ^fC&Y<ruh3rdCZ6COFVLsH[U3kM34-nStDk)UOdT>
+N0K]tQ%s\aFps/NMgBPoMisHqQ]-:hFodB_Y5a"~>
+o`#-UP]^SJEpNAts7??ep$D;Pj2'a@s$ZkAU1IrnpXt[MAn6;Vs8MDpDHa4-l`?4a>@#qYs8MT-
+Uh!JR`T-LO]o6r=>bplho%(RBIqiCm<HOn>XaY%t?!u^ls"s]2]Tc]&S^Zrtj/n,S?<t/8rU&.L
+P(%.V@TRN?IUlARM<ju\Z$BA\]%ZT=bE7$Y?%_A?s!RZ_T6+:JgA'O+AS-3k;,aC]s8ColO^)V7
+i9Sg_H!=\@pX=Lu@:]@L6"akGDfpAVKo(nYS%ALrl+*7-B44b;GbVLOYFBWC@qB:fBnaC,WMYDh
+BP(^[H)@R?YKGP5WMueYFD>Du?YQ>8W<09Gn#l\@~>
+o`#-UP]^SJF6iJu"SCd-ai!M_!jnlbli0BPgnSFnhY5]cF(Ss2mJm1Q[r,BQl0GF5CKk,uqZ$Qc
+`2$pDIDt7:kIupq?sTSts74aUQ[`aY<`X@9ZE8UlAmJj*rr4hRhS#.Z=.Rh,o]**2D-gP[p&4:.
+^6="\A7AY\T7:BM:l=T7bcuFoA\-U`m)tQ:@U4WMrr4AB`h.?WA_Qq9XCZ!i>#A4rn,N@F^l_l9
+^>S>*T6XXLl1`YT@:<^GAjL'CC2\6@J;&iAR%1bbropt^G\:Ga;L,"B[BH'B@Uit^C2&C<YGnCS
+E+iim??rEIWNXIt^T"31P'(MOA7')Iri#t&b3uM5J,~>
+o`#-U[\T=SPO%l@"S@FZ.M;%X!Y#=mli0BPhnbV3hY5^3U6q+2mJm1Rc(B?gl0H9rSV_jLqZ$Qd
+f>Eo"N5aiIkJ4BrO+FJ's74aUW2c>LJ9QgEZE9[fR#H[Xrr4hRjO:SrG,*OQo]*EbSrJ99p&4:.
+^8S$$QAg6HTotC_ELH.gg<6=BICe/#m)uW0PD,:crr4DCdD)H4L"c=`a-)"2J9>q:n,N@Le[C3_
+^>S>*];CF;l1`YtO-,crrg?$?S=cRSWi`M5]"H>crp.qDV4!KrEJUEr[BH3^Ng,p!S!g%fYGnCg
+T:;74KnuV*WNXIt^T"31S>)L@QAU6hri#t&b3uM5J,~>
+o`#0XQ?d.RC=`CXrr`5dq=a^X#P.6Ah:prSnbMeYji6<Gs*X^eS76L"rSWl_B4,B:s81'6??Olp
+kbj/H>\i<ts8'mAH<=RmlhpeYbaWf_?,?77r:T0RP&"9(NPF*,fq*h.>@QXms8MN%Tk.;IdI[A;
+oXpN1>@#qYrqlBKViGOu<-5k$Z=$^Xbja>pN*KGaiVEKOiLka1>F"XUs"!`PRr)P[i7t\PD5jp_
+B:%6Erp[^p@9KJfqu,0MEE[;BrTCV-?<UZD@qGOL3bN,AF*`26p!9XhC1LLJLVhd-kiC=+Iq`J+
+BObeoj5S[aL2U[5?]*IpioKLtl/L^YZ\rm:A7'B*ro+"?mJ=!cJ,~>
+o`#0XQ?d.RC=`CXrri;^h9a+<_?[lg['-X=]"n-Y!k,,gli2A0bFN*_jo+,%G%Y2rl2UY*TO2lo
+punZ2AR'$0rr;i<YBj;Z_s@7#q95@Q?=(MBs8;QOY**R)=H1)Ijk68YAm8d*s8W)f^7f+?Fj]g[
+s7EsjEEcc&qYpBbj/@uR>uc!\d'@(]H-Gd3[u=QoWo<dQrSaH$@9f)crr4M@\XRGDI,NeeB5X`W
+EbLilp\sZtSmbg"j88f-YAm`bjo+ANE*c^S@:NmGAiaR<CNFfKX7af>JSJ_!<JSHFk31mW\pnF*
+AnY[i_W0Y-Tn[Jt@UG#Eio9%do',/nh6`,^An57idf/5-jR)fHs*t~>
+o`#0XZDF%TOkTg.rri;6GXNAF%fQn=$k3[@%K[(Cip6Vlqp`<?MWOfp[%s+OMs:9=fYE<!fD+RK
+YEt#uiVrlRfZL+DHc,1Is7t*VUlBoEpAb'`jhS?rLj56#fB(\kXI4lrj8]/Yo$Y@AI>H;Brr;W3
+\Y+e/g%t^Fp#EcnSVqcK^<j<AFc+E4iQnfeGcp$$rr(fjX-/%/mf*5;oZ=b;N0iJ`c'<p^[>9=)
+fD#:7e\@5mXQ03Vh8u@BLZSKt\W)?!NKKHlR/<:3R[p1NVo/2[a/b\qLj#!!g?.V[f".<;R$jD.
+P0)bDf<h]QR?NDqfAbfNmIKN$in_;RTp_4(MphUa!p&bFY5a"~>
+o`#0\SpbBcC8q('s8V]lq"=XY%.`iKfuLG"XLZ^>n+6GK"6[b[rp9Y=p:Z`"MX1<)Q?m4QA^gVB
+[r,BTm/>M0IUZQ1kl:YD[?G'&OQ-0;s7sX)F';l'qu6UAn$/*h>B%aLq>TigP@e$<jo>AXd]\:.
+=gIAms8V`'Rr2JHiVriV+7#tfA63'HjRh6#W5n/m\tE_>E7O^_s8LoOJ6uQaoD\bEn#qskCQ?fU
+NHDegi5i[anbr@/Y'aSseG&t.`0FV+L["j6hQqZ;=^"s4>$P?@@V#IM->.(*HI]WtFCnucBufQ:
+rr;umj0s>IAnPXcTDANWY`Ed9@UPDiq>U`q`g(a[A70WGW;hA~>
+o`#0\T7(KdC9%.(rr_oSfZF-0%)KWdXe(W3Q'8&Q^;9]`"1Y&Urp9Y=p:Z`"MX1<)Q[3=RB%-_C
+\8GNVm/>M1IUZT3kl:YD[?G'&OQ-0;s7sX)F';o(qu6UAn$/*h>B%aLq>TigP@e$=jo>AXe$"C/
+=gIAms8V`'Rr2JHiVriV+7#tfA63*IjRh6$W5n/m\tE_>E7O^_s8LoPJ6uQaoD\bEn$&$lCQHlV
+NHMkhi5i[anbr@0Y'aSteG&t.`0FV+M!=s7hQqZ<=^"s4>$P?@@V#IM->.(*He#`uFCnucC<,Z;
+rr;umj0sAJAnPXcT_\WXY`Ed9@UPDiq>U`q`g1g\A70ZHW;hA~>
+o`#0\[&KU_Q+HhcrrhtK@jhld%L<LP$OR1D$4IC>%Kd.J\,Pao0_W]"MONl2k-LqSP)Iuklcu,M
+[d<tJ_5WZQP3DrFkg$Z$I@K6ns8VoA^7pF4gACmL-1Aj`R"U19l1t>I_7,hcM<4d;qqK5oML)_s
+rr<#jah44$L#N%1ru^RG[$H5f\`ED<WN+#'n^"t>JVDYKs8W)W_Q&ZH[e'Lu1@N2lSX6>,e$G.J
+h;HAhf(&_9fZC(LMq%M#maeq,FI27lptiE>I=$HqL51YFO->otrg>(&RAS]_]q_!ZJq:u.qu6Wp
+puAo]R@'D.NjAK\n\MT+R?WN'nbN1jps-FGR?ieol)=W4~>
+o`#0bY^gP%AUF"BrtYM!q=aIQn`o#X]W8'.Uo1&mdH'cfr:C*SaOC%Qs!@0?Lg[%Js6HG3Cgq%n
+ouW_1FkQTeb+Eug>E%qKqSoF\>[52<rr35r]:3S@DrUcqru1.$M.9eIk5G>[n#qsd>`%bGs7Edj
+C0PN+q>UBun?A-h>^,B1ruh="Vh8A[No'X3o&/HpqV830@9]8err<#sd%GYh?IeiMs$GtLMJI3l
+WL\$Lh"gg9me6VZn[4^#D4p%Yf"HrE;.[o@s8McQa0:YNB4=qD<`r[6@:a%_B4Z"YTnR;p@9eiS
+rVZ[/q:UdLB4b[`MXpf;Y`Ed9@UPDiq>U`q`g(a[A70WGW;hA~>
+o`#0bY^pV&AUO(CrtYLoh9a*W^Ug\GQ&(ZkTr4WYVR=.Sr5&QGT?[9"s!@0?Lgd+Ks6HG3Cgq(o
+ouWb3G1l]fb+O&h>E/"LqT#L]>[52<rr35r]:3S@E8plrru1.%M.9eIk5G>[n$&$e>`%bGs7Egk
+C0PQ,q>UBun?A-h>^5H2ruh="W.SJ\O5Ba4o&/HpqV861@9f>frr<#sd%P_i?e+rNs$GtLMJI3l
+WL\$Lh"gg9me6VZn[=d$D4p%Yf"HrE;.[o@s8McQa0:\OB4G%F='8d7@:a%_B4Z"YTnR;p@9noT
+rVZ[/q:UdLB4b[aMt6o<Y`Ed9@UPDiq>U`q`g1g\A70ZHW;hA~>
+o`#0b]W7TkQC[U@rtG@EGXN>X%LijU$ORA5O/J%.$k<%C!t>X6qs=>/nA_\eY42JW[]>s`O3@4I
+]n_Htq>/RTVNHG#m/Qq2`2AK?`Uj*/#PH6PSV;mZrr2p9l,KrlJskd"s8VQ,\<_`7lMpnVbe9O"
+K\-&!rs%u3\=&&2kPkK(ro:quO+!JRqYp'Di:$O$aKUeVVX"0\s8CQbV2BfRq#::Ll,9itTWQ2I
+TTe1,qXEqHrVuE4\t5=nk4.H[Z&!FLb4>T3pZ';uR#$3<G'/"VK8PhYrg=.\T"De@SXGUlSE9_I
+rtG4]XJ2,NQB%[0s7*q4Tp_.$V"+9\#l)]UUm[O-Om/hEJ,~>
+o`#3jbCF>>ASnsUq#CBd'DV7gjOV8SX/2Yr_q3baZ*MsCnGMn\kK)$Fm/JBsWH)@^pAaWdLi?m?
+V;AUk=gIDnot?l=?X0]'s7*C\C0YK.qu6U"n?A-g>_D;?rs/PTUjlcWV"+Ha&F-<R@9]Mrs8M,[
+M.9eHkl1S]#4&4H@pFuZrr3`3dA)"m>f6.3s8DinrqXF(H<spup&=t,pq`M@>@ugls8W)RV1E2e
+Dfg)5C;'TDs!%ElW.SVlHC1@VA6;lY^#f.ks8Mocj4)&ZZE0a]K6:j;@fBsHA8HgPF(f/o@'0"s
+rtGCrV1reuA70`Ns7*=SEFrZfPO\JK#l)E)G@kAnGNl(+J,~>
+o`#3jbCOD?AT#$Vq#;*$jOhPe[Ao^TLm4C4_q3baZ)=V2^\kqN\=^n<m/JBsWH)@_pAaWdLi?m@
+V;AUk=gIDnot?l=?X9c(s7*F]C0YN/qu6U"n?A-g>_MA@rs/PTV12lYV"+Ha&F-?S@9fVts8M,\
+M.9eHkl1S]#4&7I@pFuZrr3`3dA2(n>f6.3s8DinrqXF(H<st!p&=t,pq`PA>A)mms8W)RVL`;f
+Dfg)5CVKcFs!%EmWIn_mHC:IYAQW#[^#f.ks8Mocj4)&ZZE0a]KQV!=@fBsHA8HjQF(f/o@BK+t
+rtGCrV1reuA70cOs7*=SEFrZfPO\JK#l)E*G@kAnGj21,J,~>
+o`#3jcDmA%R$u+pq#;'#L1;M>%1EUO$8Q4s_q3bg[V$!Xq[N];$_d@^s!?sKU4UDYs7!b+T9bhU
+iQdg:[d="dbIs^4J@+nIn]AA4LP4I[rr32l`OM7fQ0J;J#QEPsWfVe7nc&P"lGg)kJ?JDAro_;*
+P_,:drr2p%lbg&oK:M<-rtYLb_PW3<`Ua$.rVQQmq9ZpSNI].Drr3c/cG#s,KAc_.s8LonX-f*A
+U8+-@b5M8<0`BeGXI#0H]>1J/H?G(Xjno)Xrql6GeA]#)XJ;/DLPLnSR$jA-RA@$\R[K:l[IX4p
+'E77+Y+:uHN0N`0n\MT+R?WN'nbN1jps-FGR?ieol)=W4~>
+o`#6qhi2JbBP;n\rqcX2rTs@QiQJ^2WMHN)cJe6bqt/mh\(g-:rU^3Ub0]qNs!Ia#U1@`equ?<%
+MfWKKPI?KVHeJ5pn?A-r?!bbLs66G:A6jWHrr2p%l`,nQ?(CB_ru1aRT6O[J_=mp/rn!uq?!YVI
+s8C?>I:6K`nbrIlk,*c>?)7#irs/;5So@qLh#%!K#P"s\DHgE%r;Q^#o!Oiu>B]0.rs\eJTm:$G
+@q]FcB8?0Xs"O5]RWMk;>[1HHEJ1:2jQkXVf\"]ol1a`6kMtCKbe^K:DeN`p@V0q-C1_'eA@D7/
+rt=e+P]:;G?Ztc8nZ\'oAn#/3nbN1jpr8SCAn5:nl)=W4~>
+o`#6qhi;SdBP;n\rqcX2rT2eVZ_ES<PaA5XcJe6bqt/mhXKK+KrPAZITum)ss!Ia#UL[lgqu?<&
+N,rTLPdc]YI+e>qn?A-r?!khMs66J;A6s`Jrr2p%l`,nQ?(CB_ru1aRT6O[K_Y4$0rn+)s?!b\J
+s8C?>I:6NanbrIlk,3i??DR,jrs/;5So@qMh#%!K#P"s\DHgH&r;Q^#o!Oiu>Bf6/rs\eJU3U-H
+@qfLdB8?0Xs"O5]RWMk;?!UZLEJ1:2jQkXVg"Fosl1a`6kMtCKbe^K;DeN`p@V0q-C1_'eA[_@0
+rt=e,P]:;G?[(i9nZ\'oAn#/3nbN1jpr8VDAn5:ol)=W4~>
+o`#6qhl337R[Kr<rqcX1rOd/&%1ERN(Jp@-cJe6cqt/mhBabIK%Kd.JT_RpS-N;o=Q%@Zds7F@;
+TpVIXag?_[g%k[;`jhY!JBmohl,BilL6Ca!rr32g_m>PYW:0`c)Z%jrV2^#FpAb0lh8?4MJ'@Ze
+rRercObC(2rVm)a`3#/RY4;Mk#PZKWT883VqtpBun\qu/Lk"4Xrr32na1@^nNTU6?%/\PiV2p+[
+Ng,rtV=jcd0_il(UQ'_NI<pEsOK-@^n)i]kj5ASXp[RS4j5&80_69B$S!f\.OI;f4R@07s^A%L(
+'(<]HTp_1&OmE&;_6fo(P_c.*q>U`qcFKa=Q].'kW;hA~>
+o`#6sm&bA@AnZ4XqYL4/o^_[uY,e@pZGkP^oAlm+n,)qIb.c]qnc&._lHdfNmJeL0bFE$\j8T)R
+d>r?]DM3^N?+fV)s6HVBB3Sj$rVkNCIUccGm/I"iro']*?X'c,rr3o/\XRSB?/#2Us8'd/F'N>5
+r;ZQ,R<N(I[.aM!#Q<)DHsU*ip&=srn["Qp>^,?0qu6oeV28knEo[/urs%npP@RmUli-nnp:Zu8
+>$@)HDJ!EsdJj+E(\4npDI@4VWi`_GcJS-cftXqsXe:!`qu6U*rr)WambP(/EFrcg@#Aq&AclRU
+U\FWb'(</mEFrZbHKtP#Y`Ed9@UPDiq>U`q`g(a[AR]oKW;hA~>
+o`#6sm&bDAAnZ7YqYL4/o\[]`MhmXjZGkP^oAlp-n,)qIb-/"Z^])(P\u!F@mJeL0bFN*]j8T)R
+d?&E^DM3aO?+fV)s6HYCB3Sm%rVkNDIUccHm/I"iro'`+?X0i-rr3o/\sm\C?J>;Vs8'd/F'N>5
+r;ZQ,R<N(J[.aM!#Q<)EHsU-jp&=srn[+Wq>^5E1qu6oeVMStoF6!9!rs%npP@RmUli-nnp:Zu8
+>$@)HDJ!EtdJj+E(\4qqDI@7WWi`_GcJS-cftXqsXe:$aqu6U*rr)WambP+1EFrcg@#Aq&AclRV
+U\FWb'(</mEFrZbHKtP#Y`Ed9@UPDiq>U`q`g1g\AR]rLW;hA~>
+o`#6sm'rdWR@Bk\qYL4.oOf9T$48nBZGkP^oBO;snb`.Kb#AfZr=/o=%$LAPs!@Ql]oS!0rr;cB
+[%`t\XKIS0^@)"#lbg&sLk4C\rnbDhP_bsurr36&j27pYJ%5.Mru1OP]V((0gACpMqU30RLP"@[
+s7jjNUlgAEpAY'srRnubNe"q<rr35na1@[mNop?<rs.l(Z'pW1j8T&X#4BF=Q%>Fjrr3H$bIsO&
+H'jtfR?j2mrr)j5o#.u.N.\"-XgZ'khsgC!eBZ.V^S]QYrr3`4rV6$Qh7C%fR@&tgR[ok6R?iuB
+p\On&n&Mu4R?N>dlMpCj[%WnPLnsS:rs8DF\YPX[Ng&_+s*t~>
+oD]-ke:VIHBQ8U'qu$I:rTWITVkg?,e)^&okeDar]C5b!rThG=gZ\2"o^'uIp$Mc*p:Z`#M<b-@
+rS<QWAnZ$h=G#B*s8V5ZK4J5,jSo&"Q[*(NPOSSO#Q<&EH<ab,q>UC4n$&$i?#\g&s8V`&S8)8O
+jo5;PZ]K6:A%;=5rs/A=T64CFg%t^J#4&=M@pFuZqYpcaU5*JnGNf#*#3i+C@9ou)rr3GsYa/m*
+FiV=FB4bkDq#14/nZ\'nA9QD\jQZ+*qu6<(TS@c=F)SS`q>Ufm^R]IY@olp:Ir>6t!b[5Xqu7?/
+k-U(`Amef#m/QU[O)\c@@$C-Vrs8D=Q$-bOA9[::s*t~>
+oD]-ke:_OIBQA^*qu$I:rSk;MPaSMbe)^&okeMjt]C5b!rThG+Y.;<a_Rl\Wp$Mc*p:Z`#MX(6A
+rS<TXAnZ$h=G#B*s8V5[K4J5,jSo&"R!E1OPjn\P#Q<&FH<ae-q>UC4n$/*j?#em's8V`&S8)8P
+jo5;PZ]K6:A%;=5rs/A>T64CGg%t^J#4&=M@pFuZqYpcaUPESoGj,,+#3i+C@:$&*rr3GsZ'K!,
+G/qFHB4bnEq#14/nZ\'nA9QD\jQZ+*qu6<(TS@c=F)\Yaq>Ufm^R]IY@ols;J8Y?u!b[8Yqu7?/
+k-^.aAmef$m/QU[O)\c@@$C-Vrs8D>Q$-bOA9d@;s*t~>
+oD]-ke>&FuR\?e"qu$I3rNm"@+BkGPe)^&omF&)'_XIL(rThEe$k<1G!t>ZQp$Mc*p<0t'Rd0qQ
+rS=fSR@Bb/I$*7]s8V6#Xd+TsjSo&*\tt[NV==Ka#Q<;kVM]lSq>UC4n&Dl+LPb$is8V`6]pj_8
+jo5;P`3c8%M88ocrs/AH^S?[:g%t^J#4'78Q%PUnqYpca]W[fdP3DlE#3j.3P(C"1rr3Gs`jqIi
+M9!H.R@0DFq#14/n\DN(Oc\#NjQZ+*qu6<6^TXQ5Tps$rq>Ufmcb?0BP_4CfTUu.N!g]SOqu7?/
+kKU<'R?2ogm/QUl[%WnPLnsS:rs8DF\>5O[PEtI3s*t~>
+oD]3skbrH1ASZOGVsOE^ruh3s_Psrbh<an5ikpgsNPF3?rr<#qkeY$ekje<3d)>MBs!@0?M.*4L
+s8W)ZQ?m4V@TQdJnG`Idd\;/!>_MAAq9"eAAS-kirr35u`hIN\CuG9krs%_dLh'b>l2L\om]Vgb
+>`7qJs73CMEFWXdp\t1)oYR8@?>SU"s8W)WVh8D`V"+<]#3hh8Cgq>Hrr36&goH!5?c2X;rsn@p
+N+6(Lk2;MDBOu/=rr2p%nZ@^h@Vk9*rri>h\rUh0Acl_$li-e]')U1eNc&E6<-H<EEFrfrAoc)n
+r;RH,bc6,*A6N-Ao)J6aO)\c@@$C-VrsAJ=OEG/JA9?`.WW.J~>
+oD]3skbrK2ASZOHW9jN_ruh3o[%t+Oh<an5il$q!Nka<@rr<#qkeXC'\\H"nVRQ-`s!@0?M.3:M
+s8W)ZQ[3=W@TQdJnG`Idd\D5">_VGBq9"hBAS6tkrr35u`hRT]D;bBlrs%_dLh'e@l2L\om]Vgb
+>`A"Ks73CNEFW[fp\t1)oYR8@?>\[#s8W)WW.SMbV"+<]#3hk9CgqAIrr36&goQ'6?c2X;rsn@p
+N+6(Lk2;MDBOu2>rr2p%nZIdi@Vt?+rri>h\rUh0Acl_$li-e]')U4fNc&E6<HlKGEFrfrAol/o
+r;RH,c)Z;,A6N0Bo)J6aO)\c@@$C-VrsAJ=O`b8KA9Hf/WW.J~>
+oD]3skd-eER%:(W_XRR(ruh3V>_of0h<an5l.*2,SA3eNrr<#qkeTIl%1WjW$tf(ts!@0SZ%oLO
+s8W)ZZDO(YP_"%onG`IdftjYOKU:s'q9cUFR$496rr35udD;Q7LuA72rs%`,Ya'p*l2L\om`)`%
+Jt20,s73t0TTtVPp\t1)oZk7FMMU6js8W)Y`3#2SY4;Ag#3i_%SWf6#rr36&hoMjZK#m]crsnA4
+Z]p$0k2<83R[9K&rr2p%n\;?&PEP/,rri>ja0_K<R0/nXmf*+`')US3Z_!MAH&BY@TUD4:R%Dn-
+r;RH,fZ0t[Q\^!uo)J6r[%WnPLnsS:rsAJF[A0.XQ_!.8WW.J~>
+o)Bg*dtqgLAnlF@S]^I$s82'2fB2Z"kL6u'D0r;*jnJcQrsJYc_8"[ena+Z@na6>[lE,>?]Cl1'
+-L%4TCLpdPK&6D)s7jL(H!t'Mn,N:<N,WB>GO5A0rpIXpE+4(Trr36&gSB=->`J.Mru1+#LLXkt
+nc/X]]7k-6BpJ>js8M,mP\afRkPkJdrR%Bf?<t/8qYqf)RXT$_DT;YTs8(!>H=1:<qu?]qiMM68
+>cdMc]Qe%$C6\Mmrs/(sK5P7<\,H:*55jQB]74L*AnZ")S^HX!rqc!<cF9']AR88;ZerB<A7]Cg
+DMZI5s8W)mf!pl_ARAAEfD5I:Y`Ed9@UPDiq>Us#c&-IPB4u1McIg^bb5JLCJ,~>
+o)Bg*du%mMAnlFAT$$R%s82'2fB2Z"kL@&)DLAJ,jnJcQrsJYc_6'iM^UpANna6>[lE,>@]Cl1'
+-L%7UCLpdPK&6D)s7jL(H!t'Nn,N:<NGrK?GjPJ1rpIXpE+4(Trr36&gSB=->`S4Nru1+#LLXkt
+nc/X]]7k-6C6nMls8M,mP\afRkPkJdrR%Eg?=(59qYqf)Rso-`DT;YTs8(!>H=1==qu?]qiMV<9
+?**Vd]Qn+%C6\Mmrs/(sK5P7<\,H:*55jQB]7=R+AnZ")T$lg#rqc!<cFB-^AR88;ZerB=A7]Cg
+DMZI5s8W)mf!pl_ARAAFfD5I:Y`Ed9@UPDiq>Us#c&6OQB4u1NcIgacbPeUDJ,~>
+o)Bg*e"E%mR%0kP^=i/Xs82'2fB2Z"mGQ<uP`W&jjnJcQrsJYc_*8>;%LihXna6>[lGocU_=dg-
+-L%t?SX5:\Ol$!8s7jpTV36P3n,N:<Z_*YOSF$:Urp\=LT9#/urr36&hSQ:UJtDB/ru1+@YEb!S
+nc/X]`NGf"R'-)]s8M92\=J\DkPkJdrReucNe"q<qYqf)[],gaR*bg3s8(?dViZ_hqu?]qj2A$\
+J@+n:_5*KeR^)Yers/)/XIbfI`r5l955jcd_Q'&lR@9\C^#&/Trql3IgsER+R#ZK:\)4upQC+)0
+T<HoFs8W)niR#$+R#ZK?fD5I:_6fo(P_c.*q>Us#d^#L4R@BhYgZ%2BgAS2SJ,~>
+o)Ba/m(IUQ@qB=nJ![1Jce7C<f@J6]Vg;umQbhDFr;-F"qrY`0g$%bO`:<9q#6*J_F)'D)rr4>5
+W.f+u<a*6,rr<#i^n5aYBXIF3ro&]MAnPt[p&*jhVh8bsIHgb2-2YoZH='sZo)Jagd@G\sD6rp8
+s7k,rBP(q$_Ya,_]:+%ZAprqCrs/;6Soe1Bg%tRFEU03?BP2(>lM^"mYDdF1DqY-is8CB@HsL(&
+p\NU&D.[I&_>XE6oYc)fAncbIrVui^c'`OhJ7iA'B4u::SZ]T?_S<LQLiHp0:fES5o@f+9@:a(g
+H'PYSbKe,8P]gVF;H'1Mrr;MmO)\c@@$C-Vrsnq]JnS_-BPrBkWhXj:p9+FG~>
+o)Ba/m(IXR@qB=nJ![4Ld+[R>f[e?_W-W)oR).MGr;-F"qrY_sXgu'C\+/nd#6*J`F)0J*rr4>5
+W.f+u<a*6,rr<#i^n5aYBXIF3ro&`NAnQ"\p&*jiVh8bsId-k3-2YoZH='sZo)Jagd@PbtDR9$9
+s7k,sBP(q%_Ya,_]UF.[Aq'"Drs/;6Soe1Cg%tRFEU06@BP2(?lM^"mYDdF1E7t6js8CBAHsL+'
+p\NU&DJ!R'_YsN7oYl2hAnceKrVui^cC/akJS/J(B4u::T!,fC_nWURLiHp0:fES5o@f.:@:a(g
+H'Y_Tbg4;:P]gVF;H'1Mrr;MmO)\c@@$C-Vrsnq]K4nh.BPrBkWhXj:p9+FG~>
+o)Ba/m(f'QPaIr5Wk-3th;mk`iSiSA`MSQHT>B7Nr;-F"qrY^Z$k3XSAb#3g#6*T(U6+()rr4>5
+]<.ZgJ9Sfurr<#ic+g$<OM1;dro'oKR$jP^p\a=.`N>\rT'?7S-2Z3-VN6;8o)JagfY4>OR)&Cp
+s7k-ER[BS?dJNb#d_)KIQ(I7>rs/;D^8$O7g%tRFEU0s,R[KYMmeuV/ag.P'QJDK>s8CWfVi6/O
+p\NUASXGq?dJa+FoZ="uR%()6rVuicgq/okT9bb0R@BkN^<+gRf@8*^Yb78=GB9;0o@fq'P*_T.
+VRXe#gYLQ.\"oCPHul1Jrr;N)[%WnPLnsS:rsnq]W0s!?R\$Rn`knUap9+FG~>
+nc'R)iM^Kt?t<kbFFfLGWNrn2QuunCBp6-WlhUPTrs8Ma_8"[bf>[7Ks(;9#lH6&KFN!>@s8VZ#
+MJQNsK&6D(o^(GHP&OuPU>PtMl(Ds(AT*="XcddEAS,Ll[+3%=oXpK)>?o)?s8Vr8NH&QBIE]p?
+q;R?H@V9bCWMY2mBP(geDm\'3d-e,uA6Na,rqcY7o"B-RA8?UbXdaBWB4YXiRa]EmoY-W)=^g.b
+rp-Y+@qKV2^>dMmfnj<LAp9TQaMOii?&[14CgCFYAS>n&J;9&@Km[`H>uXU'PgK""m_s9V?".A\
+G(l6RSs"Y@@Tu]-MUV7us7*1@@piSIP4AAJ%fYUXB3\hR@qB=iA7:epY5a"~>
+nc'R)iM^Kt?t<kbFFfLGWj9"4R<E(FC6Q6XlhUPTrs8Ma_6'iJX0hBcs(;9#lH6)LFN!>@s8VZ$
+MelWtK&6D(o^(JIP&OuPU>PtMl(Ds(AT*@$Y**pHAS,Ll[+<.@oXpK)>?o)?s8Vr8NH&QBIEg!A
+q;RBJ@V9bDWMb8oBkCpfDm\*5d-e0!A6Nd-rqcY7o"B0SA8?UcY+0QZB4YXiS(#QpoY-W)=^p4c
+rp-\,@qKV2^>dMmfnsENAp9WRaMXrk?B!:5CgCFYAS>n&J;9&@Km[`H>uXX(Q-f+#m_s<W?".A\
+G(l6RSs"Y@@Tu]-MUV7us7*1@@piSIP4AAJ%fYUXBO"qS@qB=iA7:epY5a"~>
+nc'R)iNJ<#OHu<*UT:f<`lu]J];(@6JXa7"lhUPTrs8Ma_*8>;$r-6\s(;9'maoFRT$Qg's8VZ-
+Z(6brOl$!7p@74k\"B%Y\E<ejl*-V?R%LS"agRq4QC+&1a5PS)oZOe8LjmD=s8VrAZ_<bSVqKhH
+q;S9;PF8/P`l+mNQ'[l*S]B^>h<r7hQ\C.PrqcX&o#%)_QCY"hah=C>rg7/a\DQ#goZXk7Kn/"X
+rp.%bQ'n5Fd-9EIfqXaoRAILAf[[p/JXOolOc#3bR$sS@Wir\4Y,IqVMgf_kSC$j*m_tEKN0BX"
+Uoq8B^:()5P_j[*Q.,F+s7*h'Q&poVU[e0[%fYUjOc,9aQ'[r1Q&;L1Y5a"~>
+nc'L+p",mS?!CTA?t!MS@pr\J=&s:,]$fg9rUp0qqrY`/eBP_pnc)Gai3TGCAR/\cG-UrEpW.Sa
+:gh?5rqO73TQadJ>$Z,lPPXprG@4QW>$G08OFL_B=^#BOBs$TcB3S;>h#%-Oq9*kc=]o$FBP6f&
+^2mU`r`Tq;CS5cU=]np>C2'g1M.KgeFQ`K"55O#m@p3&?>$>'WQ=jB(=^c&ZNT?L@>>]7urr;`B
+JRDVb>\S1mVWGI1?<^]DBP:jZBq*B3fqN.d>?bE@rEq6b?!C?/;-%Y9dd[58qr>,4?<^T=?X[DR
+@UNJD<)HhTbjYN1s7)^m>$"^$O7E#F"nKol?WgM1=Thf*;NL@Ns*t~>
+nc'L+p",pU?!CTA?t!MS@pr\J=''C.]$fg9rUp0qqrY_rWM?N]nc)GaiO#VEAR/\dGI%,GpW7\c
+:gqE6rqO:5TQadJ>$Z,mPPXprG[OZX>$G08OFLbC=^#BOBs$TcB3S;?h#%-Oq9*nd=]o$FBP?l'
+^2mXar`Tq;CnPoW=]np>C2'g1MIfpfFm&T#55O#nA6N/@>$G-YQ=sH)=^c&[NoZXB>>];!rr;`B
+Jmhed>\S4oVrbR3?<^]DBP:m[C7EK4fqN1e>?bE@rEq6b?!C?/;HIk<dd[58qr>,5?X-c??X[DR
+@UNJD<)HhUbjYN1s7)an>$"^$OR`,G"nKol?WpS2=Thf*;NUFOs*t~>
+nc'L+p"-."K85AFOHG`kQ'.)ZH$+e2]$fg9rUp0qqrY^Z$k+u[nc*5"kKV#QQ].!!UW332pW]Ol
+GC.C"rqOsb^nm-KLl@n"ZMO4<QAC6NLk^D*R$!;]L51hRO1shcQA'R/h#%-Oq9YalL4tJJP)Sku
+^lsS.Lkp_3Jte9^L5(JEPE3H<Y*4EZMWag855O$,MhHkAL4OW0S;i;YL5_=YW8t@QKQVt/rr;`B
+S;W,XMjBou]&gYfKnbMJR@&t_J>(6Pfr9aYKo(eMrK&XlN/3%2F*3/;dd[58qr>2JJqSo;O-,Wj
+PE:]UHZF=pbjYN1s7*LXJ9uQ_TCM^V"nKp)Jpr4KJHUIKF.`!*s*t~>
+nGa:'o@UL#@Tc`5=&r:!<*O-jVSC^HpAOR^#5dQ!\[\s2nc&ag`,8sbrDsP4R.UFUgM'bkOQ-0;
+mYPO[qc>FQG45Cl\:.[a='g0Qa1$"i='KBoY1hojD.[F1jo5;[qr!`H='&mRNP4]TiO!b,<tf%s
+]Zd<l='&U?LT]@gI;<G.R-aYK+TCiPO^M6l>Ap1P`IV;r=(lrVd,:%)An[7ks8W&_]Qa?V)J"5b
+dI?,&I:$&S='K[-]%6?Io@LF+AQW&8r`9J.<)cdtAq$SmhXpdGrtP7f_j,4H='&F(=&r:!<F0sM
+cL(T0rrVc"K`65uJ$AM=rrr>daJ+0"rFQ.II^&CGs*t~>
+nG`^lo@UL#@p8k5$s$>+<Ej6lVSC^HpAOR^#5dQ!Vim_=nc&ag`,B'erE'V6R.UFUgM0knOQ-0;
+mYPR]qcGLSGOPLm\:.^c=C6BTa1$"j=BoTrYM/#lDJ*X5jo5;[qr!`I=BK*VNP4]TiO!e-=;,2!
+]Zd<m=BJgCLTfFhIV`Y2R-aYK+TCiPO^V?o>]?@R`IV>t=D</Yd,:(*B5*Ins8W&_]QjEX)J+;d
+dI?,&IUH8V=Boj/]%6?Io@LF+Am&5:r`9J.<)lk!B7HbohXpdGrtP7f_j,7J='&F(=&r:"<F:'P
+cL(T0rrVc"K`65uJ$AM=rrr>daJ+3$rFZ4JJ$ALHs*t~>
+nG`[ko@UL4J,Xa'H[9mXFEi=sW5$pJpAOR^#5dQ!57013nc&agc]s*,rH8`sWV$5fgQ-Q%S)X>F
+m\bqiqfXW:O73&0\rV,[G']"Ia1@.PG'JS&ZJ+?3LOO]6jo5;[qr"5uG'87gR(r"aiO4XCFq]7c
+]ZdR7G'8+]Pd9$#RY6-?V!RpW:&aV(S:#L'G_;d/`KY^mG(5INd,:gXIXdpSs8W&_^5[>[G(,FI
+eF;G+NdGqjG'J\/]%6?Io@LF7IsH<cH@(!bGBItMIZ12@hXpdGrtP7f_juO.G^4U^H[9jVFaAnF
+cL(T0rrVc+Q2ZR@Nk"ZTrrr>daJY#JrI+j!Nk"Y_s*t~>
+n,EUkpZ'?$Q[esZ#_\MH]Zo="q#9a^"oIH!ZG#VprrW&S\bi?:[++aJroh(qZdSLGs6n+6qPbL=
+b4#B*j2\I*X0fq*n)M6dWirtTh!j[V]"#B!nG`G6rpe@BWiWSBcJnTtpYiumWN<VTkOIBBXfAS8
+akZCObIG'sg%G.?)>idI[]?F4_:e8@bH\(L[`-kamF/_X^=MrUruh-t`36/A[DLGZqY0$k[&K4e
+YeS]Op\t3lp>sQ-SrS-pGmK4fX16=.meZq]rs/Q"m+&kSOb<RW#)SnWa5?IdrVlroim%JA!mTa"
+p\tBnn(c("rO;sCb2W3!s*t~>
+n,EUkpZ'?$Q[esZ#_\MH]Zo="q#9a^"oIH!VmYm]rrW&S\bi?:[++aJroh(qZdSLGs6n+6qPbL=
+b4#B*j2\I*X0fq*n)M6dWirtTh!j[V]"#B!nG`G6rpe@BWiWSBcJnTtpYiumWN<VTkOIBBXfAS8
+akZCObIG'sg%G.?)>idI[]?F4_:e8@bH\(L[`-kamF/_X^=MrUruh-t`36/A[DLGZqY0$k[&K4e
+YeS]Op\t3lp>sQ-Sr\3rGmSeROK5n6h<t.=rVm-%qWubIYE=M:GmAYPS[6Aoo)8Oe!r1d"rl"r`
+iqW9J"T.ZCb.dha"22k:poaXI~>
+n,EUkpZ'?$SW*N'#`tOY]Zo="q#9a^"oIH!@u'F@rrW&S\bi?:[++aJroh(qZdSLGs6n+6qPbL=
+b4#B*j2\I*X0fq*n)M6dWirtTh!j[V]"#B!nG`G6rpe@BWiWSBcJnTtpYiumWN<VTkOIBBXfAS8
+akZCObIG'sg%G.?)>idI[]?F4_:e8@bH\(L[`-kamF/_X^=MrUruh-t`36/A[DLGZqY0$k[&KLm
+YeS]Op\t3lp>sQ-U6^Z7L^Ap$R&da>h<t.=rVm-%qWubIYF1IML^/d#TsMeso)8Oe!r1d"rl"r`
+iqW9J"T.ZCb.dha"22k:poaXI~>
+mJd^oo&\KIa2Q$<cIh1Do_\XSrri5`f&$)irrW/kkkj?Mk4/?Ks7kj<kOSTOs8)-DqViOVmJ?k^
+qsik0j66%1rqYpAj5oUtqYp?\lKRX*qu-O?rU]75j65q(qu6WpqX3J)j6?47rqGd?j5oUtqYp?[
+l07R,rV-=/rUf@7j6#e*rql3Ij5fIoq#:0]lfmd.r;Q^2rqc'EioB7kpAFphqsin.gY_/]p\k$i
+"o\)WgsX=C`<XK0fAPrcqu6Ek#6";aimuAprl#)_d+d^Qqu6Nn!r_obrp^'\q#0pd$i^"om-<j"
+lKn'9rN?0N~>
+mJd^oo&\KIa2Q$<cIh1Do_\XSrri5`f&$)irrW/kkkj?Mk4/?Ks7kj<kOSTOs8)-DqViOVmJ?k^
+qsik0j66%1rqYpAj5oUtqYp?\lKRX*qu-O?rU]75j65q(qu6WpqX3J)j6?47rqGd?j5oUtqYp?[
+l07R,rV-=/rUf@7j6#e*rql3Ij5fIoq#:0]lfmd.r;Q^2rqc'EioB7kpAFphqsin.gY_/]p\k$i
+"o\)WgsX=C`<XK0fAPrcqu6Ek#6";aimuAprl#)_d+d^Qqu6Nn!r_obrp^'\q#0pd$i^"om-<j"
+lKn'9rN?0N~>
+mJd^oo&\KIa2Q$<cIh1Do_\XSrri5`f&$)irrW/kkkj?Mk4/?Ks7kj<kOSTOs8)-DqViOVmJ?k^
+qsik0j66%1rqYpAj5oUtqYp?\lKRX*qu-O?rU]75j65q(qu6WpqX3J)j6?47rqGd?j5oUtqYp?[
+l07R,rV-=/rUf@7j6#e*rql3Ij5fIoq#:0]lfmd.r;Q^2rqc'EioB7kpAFphqsin.gY_/]p\k$i
+"o\)WgsX=C`<XK0fAPrcqu6Ek#6";aimuAprl#)_d+d^Qqu6Nn!r_obrp^'\q#0pd$i^"om-<j"
+lKn'9rN?0N~>
+li.%cq=O[V"7l-]roa:`r:fsaJcF:#!r`#ppAY6oqtK[[nH8@Tq>Kma"9&&fo)A.]o(Mt[LAuc~>
+li.%cq=O[V"7l-]roa:`r:fsaJcF:#!r`#ppAY6oqtK[[nH8@Tq>Kma"9&&fo)A.]o(Mt[LAuc~>
+li.%cq=O[V"7l-]roa:`r:fsaJcF:#!r`#ppAY6oqtK[[nH8@Tq>Kma"9&&fo)A.]o(Mt[LAuc~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+JcC<$JcFs6J,~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
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/interactive/ask_from b/docs/interactive/ask_from
new file mode 100755
index 000000000..dad69247e
--- /dev/null
+++ b/docs/interactive/ask_from
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+# Yves Duret <yduret at mandrakesoft.com>
+# license: GPL
+
+use lib qw(/usr/lib/libDrakX);
+use interactive;
+
+my $irq=1;
+my $login;
+my $login2="editable";
+my $check;
+my $range=57;
+
+my $in = 'interactive'->vnew(undef, 'default');
+
+$in->ask_from("window title - ask_from",
+ "message\nexamples of utilisation of ask_from",
+ [
+ { label => "enter scalar", val => \$irq },
+ { label => "combo (type=>combo optionnal)", val => \$login, list => ['Netherlands', 'France', 'Belgium', 'Italy', 'UK'], type => 'combo'},
+ { label => "choose from list editable and sorted", val => \$login2, list => ['Netherlands', 'France', 'Belgium', 'Italy', 'UK'], not_edit => 0, sort => 1},
+ { label => "check box", val => \$check, type => "bool", text => "text" },
+ { label => "range", val => \$range, type => 'range', min => 0, max => 100 },
+ ],
+ complete => sub { print "complete\n";print "$irq\n$login\n$range\n"; },
+# focus_out => sub { print "focus_out\n"},
+# changed => sub { print "changed\n"; },
+ ) or $in->exit(0);
+$in->exit(0);
diff --git a/docs/interactive/ask_from_list b/docs/interactive/ask_from_list
new file mode 100755
index 000000000..63c0ee996
--- /dev/null
+++ b/docs/interactive/ask_from_list
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+# Yves Duret <yduret at mandrakesoft.com>
+# license: GPL
+
+use lib qw(/usr/lib/libDrakX);
+use common;
+use interactive;
+
+my %l = (
+ 0 => "Welcome To Crackers",
+ 1 => "Poor",
+ 2 => "Low",
+ 3 => "Medium",
+ 4 => "High",
+ 5 => "Paranoid",
+ );
+
+my $in = 'interactive'->vnew(undef, 'default');
+
+my $level = $in->ask_from_list("window title - ask_from_list",
+ "radio button\nexamples of utilisation of ask_from_list",
+ [ values %l ], $l{2}
+ ) or $in->exit(0);
+
+print "$level\n";
+$in->exit(0);
+
diff --git a/docs/interactive/ask_from_listf b/docs/interactive/ask_from_listf
new file mode 100755
index 000000000..077540b49
--- /dev/null
+++ b/docs/interactive/ask_from_listf
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+# Yves Duret <yduret at mandrakesoft.com>
+# license: GPL
+
+use lib qw(/usr/lib/libDrakX);
+use interactive;
+use Data::Dumper;
+
+my $in = 'interactive'->vnew(undef, 'default');
+
+my @m=(
+ { description => "dhcpcd",
+ c => 1},
+ { description => "dhcpxd",
+ c => 3},
+ { description => "dhcp-client",
+ c => 4},
+ );
+my $f = $in->ask_from_listf(_("ask_from_listf"),
+ _("Which dhcp client do you want to use?\nDefault is dhcpcd"),
+ sub { $_[0]{description} },
+ \@m );
+
+print Data::Dumper->Dump([$f],['f']) . "\n";
+
+$in->exit(0);
+
diff --git a/docs/interactive/ask_from_treelist b/docs/interactive/ask_from_treelist
new file mode 100755
index 000000000..ade7141d4
--- /dev/null
+++ b/docs/interactive/ask_from_treelist
@@ -0,0 +1,27 @@
+#!/usr/bin/perl
+# Yves Duret <yduret at mandrakesoft.com>
+# license: GPL
+
+use lib qw(/usr/lib/libDrakX);
+use common;
+use interactive;
+
+my $in = 'interactive'->vnew(undef, 'default');
+my $foo = $in->ask_from_treelist("window title - ask_from_treelist",
+ "message\nexamples of utilisation of ask_from_treelist",
+ '|',
+ ['Custom',
+ 'Other|Unlisted',
+ 'Matrox|Millennium II=>Matrox Millennium II',
+ 'Matrox|Millennium G200=>Matrox Millennium G200',
+ 'Matrox|Millennium G400=>Matrox Millennium G400',
+ 'Matrox|Millennium G450=>Matrox Millennium G450',
+ 'Matrox|Millennium G550=>Matrox Millennium G550',
+ 'Sun|FFB 67MHz Creator=>Sun FFB 67MHz Creator',
+ 'Sun|FFB 67MHz Creator 3D=>Sun FFB 67MHz Creator 3D',
+ 'Sun|FFB 75MHz Creator 3D=>Sun FFB 75MHz Creator 3D',
+ ],
+ 'Custom'
+ ) or $in->exit(0);
+print "$foo\n";
+$in->exit(0);
diff --git a/docs/interactive/wait_message b/docs/interactive/wait_message
new file mode 100755
index 000000000..0caec4471
--- /dev/null
+++ b/docs/interactive/wait_message
@@ -0,0 +1,13 @@
+#!/usr/bin/perl
+# Yves Duret <yduret at mandrakesoft.com>
+# license: GPL
+
+use lib qw(/usr/lib/libDrakX);
+use interactive;
+
+my $in = 'interactive'->vnew(undef, 'default');
+my $wait = $in->wait_message('wainting title', _("Moving files to the new partition"));
+sleep(3);
+$wait->set(_("Removing"));
+sleep(3);
+$in->exit(0);
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/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/kernel/Makefile b/kernel/Makefile
new file mode 100644
index 000000000..819173f76
--- /dev/null
+++ b/kernel/Makefile
@@ -0,0 +1,8 @@
+clean:
+ rm -rf *~
+
+check:
+ 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/list_modules.pm b/kernel/list_modules.pm
new file mode 100644
index 000000000..ee0d1f77b
--- /dev/null
+++ b/kernel/list_modules.pm
@@ -0,0 +1,467 @@
+package list_modules;
+
+use MDK::Common;
+
+our @ISA = qw(Exporter);
+our @EXPORT = qw(load_dependencies dependencies_closure category2modules module2category sub_categories);
+
+# 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 (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 => [
+ 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(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 ppp_deflate bsd_comp mhi_pci_generic thunderbolt-net),
+ ],
+ pcmcia => [
+ 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(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(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 => [
+ '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 => [
+ # 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_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(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 => [
+ 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
+ },
+
+ fs =>
+ {
+ network => [ qw(af_packet nfs nfsv2 nfsv3 nfsv4 smbfs) ],
+ cdrom => [ qw(isofs) ],
+ loopback => [ qw(isofs loop squashfs) ],
+ local => [
+ qw(btrfs exfat ext3 ext4 f2fs jfs nilfs2 ntfs ntfs3 reiserfs vfat xfs),
+ ],
+ various => [ qw(efivarfs efibc capsule-loader overlay romfs ufs fuse) ],
+
+ },
+
+ ################################################################################
+ multimedia =>
+ {
+ sound => [
+ 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-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) ],
+ 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(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(atixlmouse busmouse cyapatp elan_i2c generic_serial inport ioc3_serial logibm logibusmouse msbusmouse psmouse pcips2 qpmouse synclinkmp),
+ qw(mousedev usbhid usbmouse synaptics_usb),
+ ],
+ char => [
+ 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(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(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 %moddeps;
+
+sub load_dependencies {
+ 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);
+
+ 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($_) } @{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|(.*)/(.*)|;
+ my @sub = $t2s eq '*' ? keys %{$l{$t1}} : split('\|', $t2s);
+ map {
+ my $l = $l{$t1}{$_} or die "bad category $t1/$_\n" . backtrace();
+ 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 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}};
+}
+
+1;
diff --git a/kernel/modules.pl b/kernel/modules.pl
new file mode 100644
index 000000000..9ec6f5356
--- /dev/null
+++ b/kernel/modules.pl
@@ -0,0 +1,172 @@
+use strict;
+
+
+BEGIN {
+ #- for testing purpose
+ (my $f = __FILE__) =~ s|/[^/]*$||;
+ push @INC, $f;
+}
+
+use MDK::Common;
+use list_modules;
+
+
+sub flatten_and_check {
+ my ($h) = @_;
+ map {
+ my $category = $_;
+ my @l = @{$h->{$category}};
+ if (my @bad = difference2(\@l, [ category2modules($category) ])) {
+ foreach (@bad) {
+ if (my $cat = module2category($_)) {
+ warn "ERROR in modules.pl: module $_ is in category $cat, not in $category\n";
+ } else {
+ warn "ERROR in modules.pl: unknown module $_\n";
+ }
+ }
+ exit 1;
+ }
+ @l;
+ } keys %$h;
+}
+
+my $images_cat = 'fs/* disk/* bus/* network/* input/* various/*'; #- ie everything except multimedia
+
+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 {
+ my ($category) = @_;
+ my @modules = difference2([ category2modules($category) ]);
+ print "$_\n" foreach uniq(map { dependencies_closure($_) } @modules);
+}
+
+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{$_} = "$t1/$t2";
+ }
+ }
+ }
+
+ my %module2category;
+ my %deprecated_modules = %listed;
+ my $not_listed = sub {
+ my ($msg, $verbose, @l) = @_;
+ my %not_listed;
+ foreach (@l) {
+ my ($mod) = m|([^/]*)\.k?o(\.gz)?$| or next;
+ delete $deprecated_modules{$mod};
+ next if $listed{$mod};
+ s|.*?mdk/||;
+ s|kernel/||; s|drivers/||; s|3rdparty/||;
+ $_ = dirname $_;
+ $_ = dirname $_ if $mod eq basename($_);
+ $module2category{$mod} = $_;
+ push @{$not_listed{$_}}, $mod;
+ }
+ if ($verbose) {
+ print "$msg $_: ", join(" ", @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
+ }
+ };
+ $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';
+ my $pcitable = read_pcitable("/usr/share/ldetect-lst/pcitable");
+ my $usbtable = read_pcitable("/usr/share/ldetect-lst/usbtable");
+
+ my @l1 = uniq grep { !/:/ && $_ ne 'unknown' } map { $_->[0] } values %$pcitable;
+ if (my @l = difference2(\@l1, [ keys %listed ])) {
+ my %not_listed;
+ push @{$not_listed{$module2category{$_}}}, $_ foreach @l;
+ if (my $l = delete $not_listed{''}) {
+ print "bad/old pcitable modules : ", join(" ", @$l), "\n";
+ }
+ print STDERR "PCITABLE MODULES NOT LISTED $_: ", join(" ", sort @{$not_listed{$_}}), "\n" foreach sort keys %not_listed;
+ #$error = 1;
+ }
+
+ my @l2 = uniq grep { !/:/ && $_ ne 'unknown' } map { $_->[0] } values %$usbtable;
+ if (my @l = difference2(\@l2, [ keys %listed ])) {
+ my %not_listed;
+ push @{$not_listed{$module2category{$_}}}, $_ foreach @l;
+ 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/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 e562bb40a..000000000
--- a/make_boot_img
+++ /dev/null
@@ -1,469 +0,0 @@
-#!/usr/bin/perl
-
-@ARGV >= 2 or die "usage: $0 <image> all|other|cdrom|hd|network|usbnet|blank|pcmcia|live|tftp|tftprd\n";
-
-use Config;
-Config->import;
-my ($arch) = $Config{archname} =~ /(.*)-/;
-my $corporate = $ENV{CORPORATE} && " corporate"; #- use this for building a corporate version.
-
-($img, $type) = @ARGV;
-
-$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",
- other => "stage1-full",
- blank => "stage1-full",
- live => "stage1-full",
- tftp => "stage1-full",
- tftprd => "stage1-full",
- pcmcia => "stage1-full",
- network => "stage1-network",
- usbnet => "stage1-usbnet",
- cdrom => "stage1-cdrom",
- hd => "stage1-disk",
- 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 all.kernels/.main`);
-
-if ($img =~ /blank|other/) {
- @kernels = $main;
-} else {
- @kernels = map { m|all.kernels/(.*)| } glob('all.kernels/*');
-}
-
-foreach (@kernels) {
- if ($img =~ /rdz$/) {
- initrd($mnt, "$img-$_");
- } else {
- $::{"boot_img_$arch"}->($mnt, "$img-$_", glob("all.kernels/$_/boot/vmlinu*"));
- rename("$img-$main", "$img");
- }
-}
-
-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";
- install_stripped("$instdir/init", "$mnt/sbin");
- install_stripped("$instdir/$install", "$mnt/sbin/stage1");
-
- if ($type eq "network" || $type eq "usbnet" || $type eq "all" || $type eq "other" || $type eq "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";
- }
-
- my $ftype = $type =~ /^(all)$/ ? "pcmcia" : $type;
- if ($ftype eq "pcmcia" && $arch !~ /ppc/ && $arch !~ /ia64/) {
- _ "$sudo cp -a /etc/pcmcia $mnt/etc";
- _ "$sudo patch --no-backup-if-mismatch -p0 -d $mnt/etc < $instdir/pcmcia_config.patch";
- }
- my ($ext) = $img =~ /rdz-(.*)/ or die "bad initrd name ($img)";
- $modz = "all.modules$I/$ext";
- _ "$sudo cp -f $modz/${ltype}_modules.mar $mnt/modules/modules$I.mar" if $type !~ /blank/;
- _ "$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 boot_img_i386 {
- my ($mnt, $img, $kernel) = @_;
-
- __ "$sudo umount $mnt 2>/dev/null";
- my $automatic = "";
-
- 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";
- } else {
- _ "bunzip2 -c $instdir/init-data/msgboot-graphicallogo.img.bz2 > $img";
- }
-
- $automatic = "automatic=method:cdrom" if ($type eq "cdrom");
- $automatic = "automatic=method:disk" if ($type eq "hd");
-
- _ "$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;
- eval { _ "cp -f $rdz $mnt/$type.rdz" };
- if ($@) {
- unlink "$mnt/$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 $ftype = $type =~ /^(other|all)$/ ? "cdrom" : $type;
- 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
-label linux
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic root=/dev/ram3 vga=788
-label vgalo
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic root=/dev/ram3 vga=785
-label vgahi
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic root=/dev/ram3 vga=791
-label vga16
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic root=/dev/ram3 vga16
-label text
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic root=/dev/ram3 text
-label patch
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic root=/dev/ram3 patch vga=788
-label expert
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic root=/dev/ram3 expert vga=788
-label rescue
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic root=/dev/ram3 rescue rw
-label lnx4win
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic root=/dev/ram3 lnx4win vga=788
-label preinst
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz automatic=method:cdrom root=/dev/ram3 rescue oem rw
-label oem
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz automatic=method:cdrom root=/dev/ram3 rescue oem rw
-label auto
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz $automatic auto_install=Mandrake/base/auto_inst.cfg.pl
-label all
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz pcmcia root=/dev/ram3 vga=788
-label ackbar
- kernel vmlinuz
- append ramdisk_size=32000 initrd=$type.rdz automatic=method:nfs,network:static,ip:192.168.1.205,dns:192.168.1.11,domain:mandrakesoft.com,server:ackbar,directory:/export vga=788
-");
- _ "sync";
- _ "df $mnt";
-}
-
-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 ramdisk_size=32000 root=/dev/ram3 $type
-1:vmlinux.gz initrd=$type.rdz rw ramdisk_size=32000 root=/dev/ram3 text $type
-");
- _ "sync";
- _ "df $mnt";
-}
-
-sub boot_img_ia64 {
- my ($mnt, $img, $kernel) = @_;
-
- __ "$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 images/$type.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
-");
- _ "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=32000$corporate root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=text
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=32000 text$corporate root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=expert
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=32000 expert$corporate root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=ks
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=32000 ks$corporate root=/dev/ram3\"
-image[sun4c,sun4d,sun4m]=/$boot/vmlinux
- label=rescue
- initrd=/$boot/live.rdz
- append=\"ramdisk_size=32000 rescue rw root=/dev/ram3$corporate\"
-image[sun4u]=/$boot/vmlinux64
- label=linux
- alias=install
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=32000$corporate root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=text
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=32000 text$corporate root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=expert
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=32000 expert$corporate root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=ks
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=32000 ks$corporate root=/dev/ram3\"
-image[sun4u]=/$boot/vmlinux64
- label=rescue
- initrd=/$boot/live64.rdz
- append=\"ramdisk_size=32000 rescue rw root=/dev/ram3$corporate\"
-");
-
- 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=32000 $ltype$corporate 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 ($mnt, $img, $kern, $modz) = @_;
- my $dir = "/export";
- my $boot = "boot"; #- non-absolute pathname only!
- my ($extension) = $modz =~ /.*\/([^\/]+)/;
- _ "mkdir -p $dir/$boot";
- _ "cp -f $kern $dir/$boot/vmlinux";
- _ "cp -f images/all.rdz$extension $dir/boot/all.gz";
- _ "cp -f tools/ppc/yaboot $dir/boot/yaboot";
-
- output("$dir/$boot/yaboot.conf", "
-init-message = \"\\nWelcome to Mandrake Linux PPC!\\nHit <TAB> for boot options.\\n\\n\"
-timeout = 150
-default = install-novideo
-
-image = cd:,\\\\\\\\vmlinux
- label = install-novideo
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux
- label = install-atyfb
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" video=atyfb:vmode:17\"
-
-image = cd:,\\\\\\\\vmlinux
- label = install-aty128fb
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" video=aty128fb:vmode:17\"
-
-image = cd:,\\\\\\\\vmlinux
- label = install-text
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" text video=ofonly\"
-
-image = enet:0,vmlinux
- label = install-net
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 32000
- append = \" video=ofonly\"
-
-image = enet:0,vmlinux
- label = install-net-text
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 32000
- append = \" text video=ofonly\"
-
-image = cd:,\\\\\\\\vmlinux
- label = rescue
- root = /dev/ram3
- initrd = cd:,\\\\\\\\all.gz
- initrd-size = 32000
- append = \" rescue video=ofonly\"
-
-image = enet:0,vmlinux
- label = rescue-net
- root = /dev/ram3
- initrd = enet:0,all.gz
- initrd-size = 32000
- append = \" rescue video=ofonly\"
-");
- #- seem to need 2 yaboot.conf, one in the root, and one in boot
- _ "cp -f $dir/boot/yaboot.conf $dir/yaboot.conf";
-
- output("$dir/$boot/README", "
-To Build a Bootable CD-ROM, do:
-cd /tools/ppc
-./mkINSTALLCD /export ppc-cd.img
-");
-
-}
-
-sub output {
- my $f = shift;
- local *F;
- open F, "> $f" or die "error writing to $f";
- print F join '', @_;
-}
diff --git a/make_ks_from_floppy b/make_ks_from_floppy
deleted file mode 100755
index 0c2c48331..000000000
--- a/make_ks_from_floppy
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-ks="install/ks.cfg"
-
-[ -e $ks ] || { echo "missing file $ks, create one based on $ks.default"; exit 1; }
-
-sudo mount /mnt/floppy
-cp -f $ks /mnt/floppy
-perl -pi -e 's/prompt 1//; s/\s*kickstart=\S+//g; s/append/append kickstart=auto_inst.cfg.pl/' /mnt/floppy/syslinux.cfg
-sudo umount /mnt/floppy
diff --git a/mdk-stage1/.cvsignore b/mdk-stage1/.cvsignore
deleted file mode 100644
index 36f56f6b5..000000000
--- a/mdk-stage1/.cvsignore
+++ /dev/null
@@ -1,11 +0,0 @@
-init
-stage1-full
-stage1-cdrom
-stage1-disk
-stage1-network
-debug.log
-.depend
-*.rdz*
-mkinitrd_helper.tar.bz2
-hack_*
-stage1-usbnet
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 52a7fe792..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,229 +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 except some targets
- #
- # ppc
- # init with dietlibc
- # stage1 with glibc
- #
- # ia64
- # init with glibc
- # stage1 with glibc
- #
- #*****************************************************************************
-
-VERSION = cooker
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\"
-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
-INITOBJS = $(subst .c,.o,$(INITSRC))
+STAGE1_DEFS=-DDISABLE_KA
+
+INITOBJS = $(INITSRC:.c=.o)
#- frontends
NEWT_FRONTEND_SRC = newt-frontend.c
-GLIBC_NEWT_FRONTEND_LIBS = newt/libnewt.a slang/libslang.a
-DIETLIBC_NEWT_FRONTEND_LIBS = $(subst .a,-DIET.a,$(GLIBC_NEWT_FRONTEND_LIBS))
+NEWT_FRONTEND_LIBS = -lnewt -lslang
STDIO_FRONTEND_SRC = stdio-frontend.c
-GLIBC_STDIO_FRONTEND_LIBS =
-DIETLIBC_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) $($(L)_$(F)_FRONTEND_LIBS)
-
-ifeq (i386, $(ARCH))
-INSMOD = insmod-busybox
-else
-INSMOD = insmod-modutils
-endif
+FRONTEND_LINK = $(FRONTEND_OBJS) $($(F)_FRONTEND_LIBS)
-GLIBC_STAGE1_OWN_LIBS = $(INSMOD)/libinsmod.a mar/libmar.a bzlib/libbzlib.a
-DIETLIBC_STAGE1_OWN_LIBS = $(subst .a,-DIET.a,$(GLIBC_STAGE1_OWN_LIBS))
-STAGE1_OWN_LIBS = $($(L)_STAGE1_OWN_LIBS)
+STAGE1_OWN_LIBS = -lz -lldetect -lkmod -lpci -llzma -lsysfs
-ifeq (DIETLIBC, $(L))
-STAGE1_NETWORK_LIBS = $(top_dir)/dietlibc/bin-$(ARCH)/librpc.a
-endif
-
-ifeq (GLIBC, $(L))
-STAGE1_NETWORK_LIBS = /usr/lib/libresolv.a
-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)
-
+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
+# use sort to remove duplicates
+STAGE1_ALLSRC = $(sort $(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC) $(KASRC))
+ALLSRC = $(INITSRC) $(STAGE1_ALLSRC)
-STAGE1OBJS-CDROM = $(subst .c,-CDROM.o,$(STAGE1SRC) $(CDROMSRC))
-CDROM_DEFS = -DDISABLE_DISK -DDISABLE_NETWORK
-
-STAGE1OBJS-DISK = $(subst .c,-DISK.o,$(STAGE1SRC) $(DISKSRC))
-
-DISK_DEFS = -DDISABLE_CDROM -DDISABLE_NETWORK
+CDROM_DEFS = -DSPAWN_SHELL -DDISABLE_DISK -DDISABLE_NETWORK
STAGE1OBJS-NETWORK = $(subst .c,-NETWORK.o,$(STAGE1SRC) $(NETWORKSRC))
-NETWORK_DEFS = -DDISABLE_CDROM -DDISABLE_DISK
-
-
-STAGE1OBJS-USBNET = $(subst .c,-USBNET.o,$(STAGE1SRC) $(NETWORKSRC))
-
-
-STAGE1OBJS-FULL = $(subst .c,-FULL.o,$(STAGE1SRC) $(CDROMSRC) $(DISKSRC) $(NETWORKSRC))
-
+NETWORK_DEFS = -DSPAWN_SHELL -DDISABLE_CDROM -DDISABLE_DISK -DDISABLE_KA
-ifeq (i386, $(ARCH))
-LDFLAGS_INIT = -static -nostdlib /usr/lib/crt1.o
-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
+STAGE1OBJS-NETWORK-STANDALONE = $(subst .c,-NETWORK-STANDALONE.o,$(STAGE1SRC) $(NETWORKSRC))
-BINS = init stage1-full
+NETWORK_STANDALONE_DEFS = -DDISABLE_CDROM -DDISABLE_DISK -DENABLE_NETWORK_STANDALONE -DDISABLE_KA
-ifeq (i386, $(ARCH))
-BINS += stage1-cdrom stage1-disk stage1-network stage1-usbnet
-endif
-ifneq (ia64, $(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
+STAGE1OBJS-FULL = $(STAGE1_ALLSRC:.c=-FULL.o)
+BINS = init stage1 dhcp-client rescue-gui probe-modules
-ifeq (i386,$(ARCH))
-GLIBC_PCMCIA_LIB = pcmcia/libpcmcia.a
-DIETLIBC_PCMCIA_LIB = $(subst .a,-DIET.a,$(GLIBC_PCMCIA_LIB))
-PCMCIA_LIB = $($(L)_PCMCIA_LIB)
+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
-USBNET_DEFS_GEN = -DENABLE_USB -DENABLE_USBNET
-USBNET_DEFS = $(USBNET_DEFS_GEN) -DDISABLE_PCINET
+all: $(OTHERS) $(BINS)
-all: dirs $(BINS)
+pci-ids.h: /usr/share/ldetect-lst/pcitable.gz update-pci-ids.pl
+ perl update-pci-ids.pl > $@ || { rm -f $@; exit 1; }
-dirs:
- @for n in . $(DIRS); do \
- [ "$$n" = "." ] || make -C $$n ;\
- done
+usb-ids.h: /usr/share/ldetect-lst/usbtable.gz update-usb-ids.pl
+ perl update-usb-ids.pl > $@ || rm -f $@
-init: $(INITOBJS) $(INIT_LIBC)
- $(CC) $(LDFLAGS_INIT) -o $@ $^
- $(STRIPCMD) $@
+pcmcia-ids.h: update-pcmcia-ids.pl
+ perl update-pcmcia-ids.pl > $@ || { rm -f $@; exit 1; }
-stage1-cdrom: $(STAGE1OBJS-CDROM) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
+pcmcia/libpcmcia.a:
+ make -j -C pcmcia
-stage1-disk: $(STAGE1OBJS-DISK) $(STAGE1_OWN_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(CC) $(LDFLAGS_STAGE1) -o $@ $^
- $(STRIPCMD) $@
+probing.c: pci-ids.h
-stage1-network: $(STAGE1OBJS-NETWORK) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(CC) $(LDFLAGS_STAGE1) -o $@ $^
+init: $(INITOBJS)
+ $(CC) $(LDFLAGS) -o $@ $^
$(STRIPCMD) $@
-stage1-usbnet: $(STAGE1OBJS-USBNET) $(STAGE1_OWN_LIBS) $(STAGE1_NETWORK_LIBS) $(FRONTEND_LINK) $(STAGE1_LIBC)
- $(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)
- $(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
- $(COMPILE) $(INCLUDES) $(CDROM_DEFS) -c $< -o $@
-
-$(STAGE1OBJS-DISK): %-DISK.o: %.c
- $(COMPILE) $(INCLUDES) $(DISK_DEFS) -c $< -o $@
+ $(COMPILE) -c $<
$(STAGE1OBJS-NETWORK): %-NETWORK.o: %.c
- $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) -c $< -o $@
+ $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(PCMCIA_DEFS) $(USB_DEFS_GEN) -DENABLE_ADDITIONAL_MODULES -c $< -o $@
-$(STAGE1OBJS-USBNET): %-USBNET.o: %.c
- $(COMPILE) $(INCLUDES) $(NETWORK_DEFS) $(USBNET_DEFS) -c $< -o $@
+$(STAGE1OBJS-NETWORK-STANDALONE): %-NETWORK-STANDALONE.o: %.c
+ $(COMPILE) $(INCLUDES) $(NETWORK_STANDALONE_DEFS) $(USB_DEFS_GEN) -c $< -o $@
$(STAGE1OBJS-FULL): %-FULL.o: %.c
- $(COMPILE) $(INCLUDES) $(USBNET_DEFS_GEN) $(PCMCIA_DEFS) -c $< -o $@
+ $(COMPILE) $(INCLUDES) -DSPAWN_SHELL $(USB_DEFS_GEN) $(PCMCIA_DEFS) $(STAGE1_DEFS) -c $< -o $@
.c.o:
$(COMPILE) $(INCLUDES) -c $<
-clean:
+clean: localclean
@for n in $(DIRS); do \
(cd $$n; make clean) \
done
- rm -f *.o .depend *.rdz *.img $(BINS)
+localclean:
+ rm -f *.o .depend *.rdz *.img pci-ids.h pcmcia-ids.h usb-ids.h $(BINS)
-tar-mkinitrd_helper: clean
- $(MAKE) -C mkinitrd_helper clean
- rm -rf mkinitrd_helper-subdir
- mkdir mkinitrd_helper-subdir
- cd mkinitrd_helper-subdir ; cp -a ../dietlibc ../insmod-busybox ../mkinitrd_helper ../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 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
@@ -246,13 +171,7 @@ include .depend
endif
-*-CDROM.o: %-CDROM.o: %.o
-
-*-DISK.o: %-DISK.o: %.o
-
*-NETWORK.o: %-NETWORK.o: %.o
-*-USBNET.o: %-USBNET.o: %.o
-
*-FULL.o: %-FULL.o: %.o
diff --git a/mdk-stage1/Makefile.common b/mdk-stage1/Makefile.common
index 3cb8f3695..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,43 +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
-
- #- flags used by all stuff
-ifeq (ppc, $(ARCH))
-CFLAGS = -Os -pipe -Wall -fomit-frame-pointer
+ifdef DEBUG
+OPTFLAGS = -g -DDEBUG
else
-CFLAGS = -Os -pipe -Wall -Werror -fomit-frame-pointer
+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 $(top_dir)/dietlibc/bin-$(ARCH)/start.o
-LDFLAGS_STAGE1 = $($(L)_LDFLAGS_STAGE1)
+INCLUDES = -I.
-GLIBC_LIBC =
-DIETLIBC_LIBC = $(top_dir)/dietlibc/bin-$(ARCH)/dietlibc.a
-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 899fccb55..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 mkinitrd_helper
-
-
-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 486a829de..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);
}
@@ -74,8 +75,22 @@ char * get_auto_value(char * auto_param)
{
struct param_elem * ptr = automatic_params;
+ struct param_elem short_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" }, { "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))
+ break;
+ ptr_alias++;
+ }
+
while (ptr->name) {
- if (!strcmp(ptr->name, auto_param))
+ if (streq(ptr->name, auto_param)
+ || (ptr_alias->name && streq(ptr_alias->value, ptr->name)))
return ptr->value;
ptr++;
}
@@ -86,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) {
@@ -100,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) {
@@ -121,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);
}
}
@@ -129,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) {
@@ -142,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 c2ac0a73d..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.
@@ -24,6 +24,7 @@
#include "stage1.h"
void grab_automatic_params(char * line);
+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);
enum return_type ask_from_list_comments_auto(char *msg, char ** elems, char ** elems_comments, char ** choice, char * auto_param, char ** elems_auto);
diff --git a/mdk-stage1/bzlib/Makefile b/mdk-stage1/bzlib/Makefile
deleted file mode 100644
index 03a2c254b..000000000
--- a/mdk-stage1/bzlib/Makefile
+++ /dev/null
@@ -1,55 +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
-
-ifeq (DIETLIBC, $(L))
-TARGETS += $(LIBNAME)-DIET.a
-endif
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-OBJS-DIET = $(subst .o,-DIET.o,$(OBJS))
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(LIBNAME)-DIET.a: $(OBJS-DIET)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- $(CC) $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c $< -o $@
-
-$(OBJS-DIET): %-DIET.o: %.c
- $(CC) $(CFLAGS) $(DEFS) $(INCS) $(DIETLIBC_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 ebf6e269b..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, Int32 items, Int32 size )
-{
- void* v = malloc ( items * size );
- return v;
-}
-
-static
-void default_bzfree ( void* opaque, 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)
-{
- /* 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 c3ff2e802..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);
@@ -97,27 +97,94 @@ static enum return_type try_with_device(char * dev_name, char * dev_model)
return do_with_device(dev_name, dev_model);
}
+int try_automatic(char ** medias, char ** medias_models)
+{
+ static char * already_tried[50] = { NULL };
+ char ** model = medias_models;
+ char ** ptr = medias;
+ int i = 0;
+ while (ptr && *ptr) {
+ char ** p;
+ for (p = already_tried; p && *p; p++)
+ if (streq(*p, *ptr))
+ goto try_automatic_already_tried;
+ *p = strdup(*ptr);
+ *(p+1) = NULL;
+
+ wait_message("Trying to access " DISTRIB_NAME " CDROM disc (drive %s)", *model);
+ if (mount_that_cd_device(*ptr) != -1) {
+ if (image_has_stage2()) {
+ remove_wait_message();
+ return i;
+ }
+ else
+ umount(MEDIA_LOCATION);
+ }
+ remove_wait_message();
+
+ try_automatic_already_tried:
+ ptr++;
+ model++;
+ i++;
+ }
+ return -1;
+}
+
enum return_type cdrom_prepare(void)
{
char ** medias, ** ptr, ** medias_models;
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_insmod("sr_mod", ANY_DRIVER_TYPE, NULL);
-
- get_medias(CDROM, &medias, &medias_models);
+ my_modprobe("ide_cd_mod", ANY_DRIVER_TYPE, NULL);
- ptr = medias;
- while (ptr && *ptr) {
- count++;
- ptr++;
- }
+ 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]);
+
+ 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]);
+
+ get_medias(CDROM, &medias, &medias_models, BUS_USB);
+ if ((i = try_automatic(medias, medias_models)) != -1)
+ return do_with_device(medias[i], medias_models[i]);
+
+ /* 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_modprobe("sr_mod", ANY_DRIVER_TYPE, NULL);
+
+
+ get_medias(CDROM, &medias, &medias_models, BUS_ANY);
+ ptr = medias;
+ while (ptr && *ptr) {
+ count++;
+ ptr++;
+ }
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();
@@ -127,54 +194,32 @@ 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();
}
- if (IS_AUTOMATIC) {
+ results = ask_from_list_comments("Please choose the CDROM drive to use for the installation.", medias, medias_models, &choice);
+ if (results == RETURN_OK) {
char ** model = medias_models;
ptr = medias;
- while (ptr && *ptr) {
- wait_message("Trying to access " DISTRIB_NAME " CDROM disc (drive %s)", *model);
- if (mount_that_cd_device(*ptr) != -1) {
- if (!test_that_cd()) {
- remove_wait_message();
- return do_with_device(*ptr, *model);
- }
- else
- umount(IMAGE_LOCATION);
- }
- remove_wait_message();
+ while (ptr && *ptr && model && *model) {
+ if (!strcmp(*ptr, choice))
+ break;
ptr++;
model++;
}
- unset_param(MODE_AUTOMATIC);
- return cdrom_prepare();
- }
- else {
- results = ask_from_list_comments("Please choose the CDROM drive to use for the installation.", medias, medias_models, &choice);
- if (results == RETURN_OK) {
- char ** model = medias_models;
- ptr = medias;
- while (ptr && *ptr && model && *model) {
- if (!strcmp(*ptr, choice))
- break;
- ptr++;
- model++;
- }
results = try_with_device(choice, *model);
- } else
- return results;
- }
+ } else
+ return results;
if (results == RETURN_OK)
return RETURN_OK;
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 3af38a446..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 52
+#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 44877fd8a..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.
@@ -27,6 +27,7 @@
#include <stdlib.h>
#include <unistd.h>
+#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
@@ -44,8 +45,11 @@
#include "stage1.h"
#include "log.h"
+#include "tools.h"
+#include "utils.h"
#include "network.h"
#include "frontend.h"
+#include "automatic.h"
#include "dhcp.h"
@@ -67,6 +71,8 @@ typedef short bp_int16;
#define DHCP_OPTION_OPTIONREQ 55
#define DHCP_OPTION_MAXSIZE 57
+#define DHCP_OPTION_CLIENT_IDENTIFIER 61
+
#define BOOTP_CLIENT_PORT 68
#define BOOTP_SERVER_PORT 67
@@ -207,9 +213,16 @@ static void parse_reply(struct bootp_request * breq, struct interface_info * int
unsigned char * chptr;
unsigned char option, length;
+ 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];
@@ -250,13 +263,6 @@ static void parse_reply(struct bootp_request * breq, struct interface_info * int
log_message("got gateway %s", inet_ntoa(gateway));
break;
- case BOOTP_OPTION_HOSTNAME:
- memcpy(tmp_str, chptr, length);
- tmp_str[length] = '\0';
- hostname = strdup(tmp_str);
- log_message("got hostname %s", hostname);
- break;
-
}
chptr += length;
@@ -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)
@@ -322,11 +328,11 @@ static int get_vendor_code(struct bootp_request * bresp, unsigned char option, v
}
-static int currticks(void)
+static unsigned long currticks(void)
{
struct timeval tv;
- long csecs;
- int ticks_per_csec, ticks_per_usec;
+ unsigned long csecs;
+ unsigned long ticks_per_csec, ticks_per_usec;
/* Note: 18.2 ticks/sec. */
@@ -340,7 +346,7 @@ static int currticks(void)
#define BACKOFF_LIMIT 7
#define TICKS_PER_SEC 18
-#define MAX_ARP_RETRIES 4
+#define MAX_ARP_RETRIES 7
static void rfc951_sleep(int exp)
{
@@ -415,7 +421,7 @@ static int handle_transaction(int s, struct bootp_request * breq, struct bootp_r
}
/* We need to do some basic sanity checking of the header */
- if (j < (sizeof(*ip_hdr) + sizeof(*udp_hdr)))
+ if (j < (signed)(sizeof(*ip_hdr) + sizeof(*udp_hdr)))
continue;
ip_hdr = (void *) eth_packet;
@@ -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++;
@@ -495,6 +501,8 @@ static void add_vendor_code(struct bootp_request * breq, unsigned char option, u
}
+char * dhcp_hostname = NULL;
+char * dhcp_domain = NULL;
enum return_type perform_dhcp(struct interface_info * intf)
{
@@ -508,11 +516,7 @@ enum return_type perform_dhcp(struct interface_info * intf)
short aShort;
int num_options;
char requested_options[50];
-
- if (strncmp(intf->device, "eth", 3)) {
- stg1_error_message("DHCP available only for Ethernet networking.");
- return RETURN_ERROR;
- }
+ char * client_id_str, * client_id_hwaddr;
s = socket(AF_INET, SOCK_DGRAM, 0);
if (s < 0) {
@@ -520,6 +524,35 @@ enum return_type perform_dhcp(struct interface_info * intf)
return RETURN_ERROR;
}
+ {
+ enum return_type results;
+ char * questions[] = { "Host name", "Domain name", NULL };
+ char * questions_auto[] = { "hostname", "domain" };
+ static char ** answers = NULL;
+ char * boulet;
+
+ client_id_str = client_id_hwaddr = NULL;
+
+ results = ask_from_entries_auto("If the DHCP server needs to know you by 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)
+ {
+ dhcp_hostname = answers[0];
+ if ((boulet = strchr(dhcp_hostname, '.')) != NULL)
+ boulet[0] = '\0';
+ dhcp_domain = answers[1];
+
+ if (*dhcp_hostname && *dhcp_domain) {
+ /* if we have both, then create client id from them */
+ client_id_str = malloc(1 + strlen(dhcp_hostname) + 1 + strlen(dhcp_domain) + 1);
+ client_id_str[0] = '\0';
+ sprintf(client_id_str+1, "%s.%s", dhcp_hostname, dhcp_domain);
+ }
+ }
+ }
+
if (initial_setup_interface(intf->device, s) != 0) {
close(s);
return RETURN_ERROR;
@@ -533,7 +566,28 @@ enum return_type perform_dhcp(struct interface_info * intf)
messageType = DHCP_TYPE_DISCOVER;
add_vendor_code(&breq, DHCP_OPTION_TYPE, 1, &messageType);
- memset(&client_addr.sin_addr, 0, sizeof(&client_addr.sin_addr));
+ /* add pieces needed to have DDNS/DHCP IP selection based on requested name */
+ 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) */
+ /* 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);
+ }
+ /* this is the one that the dhcp server really wants for DDNS updates */
+ add_vendor_code(&breq, BOOTP_OPTION_HOSTNAME, strlen(dhcp_hostname), dhcp_hostname);
+ log_message("DHCP: telling server to use name = %s", dhcp_hostname);
+ }
+
+ 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 */
@@ -572,6 +626,16 @@ enum return_type perform_dhcp(struct interface_info * intf)
add_vendor_code(&breq, DHCP_OPTION_SERVER, 4, &server_addr.sin_addr);
add_vendor_code(&breq, DHCP_OPTION_REQADDR, 4, &bresp.yiaddr);
+ /* if used the first time, then have to use it again */
+ if (dhcp_hostname && *dhcp_hostname) { /* add pieces needed to have DDNS/DHCP IP selection based on requested name */
+ if (dhcp_domain && *dhcp_domain) /* alternate style */
+ add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, strlen(client_id_str+1)+1, client_id_str);
+ else /* usual style (aka windows / dhcpcd) */
+ add_vendor_code(&breq, DHCP_OPTION_CLIENT_IDENTIFIER, IFHWADDRLEN+1, client_id_hwaddr);
+ /* this is the one that the dhcp server really wants for DDNS updates */
+ add_vendor_code(&breq, BOOTP_OPTION_HOSTNAME, strlen(dhcp_hostname), dhcp_hostname);
+ }
+
aShort = ntohs(sizeof(struct bootp_request));
add_vendor_code(&breq, DHCP_OPTION_MAXSIZE, 2, &aShort);
diff --git a/mdk-stage1/dhcp.h b/mdk-stage1/dhcp.h
index 6fb121ea4..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
@@ -31,4 +31,7 @@
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 7c88cb004..000000000
--- a/mdk-stage1/dietlibc/.cvsignore
+++ /dev/null
@@ -1,12 +0,0 @@
-t
-elftrunc
-mapfile
-t1
-load
-compile
-bin-alpha
-bin-arm
-bin-i386
-bin-mips
-bin-ppc
-bin-sparc
diff --git a/mdk-stage1/dietlibc/AUTHOR b/mdk-stage1/dietlibc/AUTHOR
deleted file mode 100644
index 6d8ab1a05..000000000
--- a/mdk-stage1/dietlibc/AUTHOR
+++ /dev/null
@@ -1 +0,0 @@
-Felix von Leitner <felix-dietlibc@fefe.de>
diff --git a/mdk-stage1/dietlibc/Makefile b/mdk-stage1/dietlibc/Makefile
deleted file mode 100644
index b6e7b2783..000000000
--- a/mdk-stage1/dietlibc/Makefile
+++ /dev/null
@@ -1,146 +0,0 @@
-ARCH=$(shell uname -m | sed 's/i[4-9]86/i386/')
-
-OBJDIR=bin-$(ARCH)
-
-all: $(OBJDIR) $(OBJDIR)/start.o $(OBJDIR)/dietlibc.a $(OBJDIR)/liblatin1.a $(OBJDIR)/librpc.a $(OBJDIR)/diet
-
-CFLAGS=-pipe
-CROSS=
-
-VPATH=lib:libstdio:libugly:libcruft:libcrypt:libshell:liblatin1:librpc:libregex:syscalls.c
-
-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))
-
-LIBRPCOBJ=$(patsubst librpc/%.c,$(OBJDIR)/%.o,$(wildcard librpc/*.c))
-LIBREGEXOBJ=$(patsubst libregex/%.c,$(OBJDIR)/%.o,$(wildcard libregex/*.c))
-
-include $(ARCH)/Makefile.add
-
-ifeq ($(CFLAGS),-pipe)
-CFLAGS+=-O -fomit-frame-pointer
-endif
-
-ifneq ($(DEBUG),)
-CFLAGS = -g
-COMMENT = :
-endif
-CFLAGS += -Wall -Wno-switch
-
-PWD=$(shell pwd)
-
-.SUFFIXES:
-.SUFFIXES: .S .c
-
-$(OBJDIR):
- mkdir $@
-
-% :: %,v
-
-$(OBJDIR)/%.o: %.S
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@
-
-$(OBJDIR)/%.o: %.c
- $(CROSS)$(CC) -I. -Iinclude $(CFLAGS) -c $< -o $@
- $(COMMENT) $(CROSS)strip -x -R .comment -R .note $@
-
-DIETLIBC_OBJ = $(SYSCALLOBJ) $(LIBOBJ) $(LIBSTDIOOBJ) $(LIBUGLYOBJ) \
-$(LIBCRUFTOBJ) $(LIBCRYPTOBJ) $(LIBSHELLOBJ) $(LIBREGEXOBJ) \
-$(OBJDIR)/__longjmp.o $(OBJDIR)/setjmp.o $(OBJDIR)/unified.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)/libdietc.so: $(OBJDIR)/dietlibc.a
- $(CROSS)ld -whole-archive -shared -o $@ $^
-
-$(SYSCALLOBJ): syscalls.h
-
-$(OBJDIR)/diet: diet.c $(OBJDIR)/start.o $(OBJDIR)/dietlibc.a
- $(CROSS)$(CC) -Iinclude $(CFLAGS) -nostdlib -o $@ $^ -DDIETHOME=\"$(PWD)\"
- $(CROSS)strip -R .comment -R .note $@
-
-$(OBJDIR)/djb: $(OBJDIR)/compile $(OBJDIR)/load
-
-$(OBJDIR)/compile:
- echo 'exec gcc $(CFLAGS) -I$(PWD)/$(OBJDIR)/include -c $${1+"$$@"}' > $@
- chmod 755 $@
-
-$(OBJDIR)/load:
- echo 'main="$$1"; shift; exec gcc -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-*
-
-tar: clean
- rm -f armv4l
- ln -sf arm armv4l
- cd ..; tar cvvf dietlibc.tar.bz2 dietlibc --use=bzip2 --exclude CVS
-
-$(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)/dietlibc.a -lgcc -Wl,-Map,mapfile
-
-t1:
- $(CROSS)$(CC) -g -o t1 t.c
-
-install: $(OBJDIR)/start.o $(OBJDIR)/dietlibc.a $(OBJDIR)/liblatin1.a $(OBJDIR)/diet
- cp $(OBJDIR)/start.o $(INSTALLPREFIX)$(prefix)/lib/dietstart.o
- cp $(OBJDIR)/dietlibc.a $(INSTALLPREFIX)$(prefix)/lib/libdietc.a
- cp $(OBJDIR)/liblatin1.a $(INSTALLPREFIX)$(prefix)/lib/libdietlatin1.a
- cp $(OBJDIR)/diet $(INSTALLPREFIX)$(prefix)/bin/diet
-
-.PHONY: sparc ppc mips arm alpha i386
-
-arm sparc ppc alpha i386:
- $(MAKE) ARCH=$@ CROSS=$@-linux- all t bin-$@/libdietc.so
-
-mips:
- $(MAKE) ARCH=$@ CROSS=$@-linux-gnu- all t bin-$@/libdietc.so
-
-cross:
- $(MAKE) arm sparc ppc alpha i386 mips
-
-
-# these depend on dietfeatures.h for large file backward compatibility
-$(OBJDIR)/__fstat64.o $(OBJDIR)/__lstat64.o $(OBJDIR)/__stat64.o: dietfeatures.h
-
-# these depend on dietfeatures.h for thread support
-$(OBJDIR)/alloc.o $(OBJDIR)/perror.o $(OBJDIR)/logging.o $(OBJDIR)/unified.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)/tty.o: dietfeatures.h
-
-# these depend on dietfeatures.h for ungetc support ;-)
-$(OBJDIR)/ungetc.o: dietfeatures.h
-
-# these depend on dietfeatures.h for WANT_TZFILE_PARSER
-$(OBJDIR)/localtime_r.o: dietfeatures.h
diff --git a/mdk-stage1/dietlibc/README b/mdk-stage1/dietlibc/README
deleted file mode 100644
index ce9838832..000000000
--- a/mdk-stage1/dietlibc/README
+++ /dev/null
@@ -1,43 +0,0 @@
-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 without warnings. In addition
-to the diet libc, the default make target includes t, which is a test
-program and probably contains code which produces warnings. You can
-safely ignore them.
-
-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.
diff --git a/mdk-stage1/dietlibc/alpha/Makefile.add b/mdk-stage1/dietlibc/alpha/Makefile.add
deleted file mode 100644
index 10ff0faef..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 seteuid.o __time.o)
diff --git a/mdk-stage1/dietlibc/alpha/__longjmp.S b/mdk-stage1/dietlibc/alpha/__longjmp.S
deleted file mode 100644
index d86d76717..000000000
--- a/mdk-stage1/dietlibc/alpha/__longjmp.S
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifdef __alpha__
-
-#include <setjmp.h>
-
-.text
-.align 2
-
-.global __longjmp
-__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 $1, (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
- mov $1, $sp
-
- ret $31, ($26), 1
-
-
-#endif
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 b7e32d707..000000000
--- a/mdk-stage1/dietlibc/alpha/clone.S
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "syscalls.h"
-#include <asm/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/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/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/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 3768056be..000000000
--- a/mdk-stage1/dietlibc/alpha/setjmp.S
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <setjmp.h>
-
-.text
-.global __sigsetjmp
-__sigsetjmp:
- ldgp $gp, 0($gp)
-
- mov $sp, $1
- lda $sp, -16($sp)
-
- stq $26, 0($sp) /* save ra */
-
- 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 $1, (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 $26, __sigjmp_save /* call __sigjmp_save */
-
- ldq $26, 0($sp) /* restore ra */
-
- lda $sp, 16($sp)
- ret $31, ($26), 1 /* back to caller */
-
-.weak setjmp
-setjmp:
-.weak __setjmp
-__setjmp:
- ldgp $gp, 0($gp)
- mov 0, $17
- br __sigsetjmp
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/signal.S b/mdk-stage1/dietlibc/alpha/signal.S
deleted file mode 100644
index ceca0f02d..000000000
--- a/mdk-stage1/dietlibc/alpha/signal.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(osf_signal,signal)
diff --git a/mdk-stage1/dietlibc/alpha/sigprocmask.S b/mdk-stage1/dietlibc/alpha/sigprocmask.S
deleted file mode 100644
index d9da836c2..000000000
--- a/mdk-stage1/dietlibc/alpha/sigprocmask.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(osf_sigprocmask,sigprocmask,__sigprocmask)
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/start.S b/mdk-stage1/dietlibc/alpha/start.S
deleted file mode 100644
index 00b8e950d..000000000
--- a/mdk-stage1/dietlibc/alpha/start.S
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "start.h"
-
-#ifdef __alpha__
-
-.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 */
-
- lda $17, 8($sp) /* argv */
-
- addq $16, 1, $18 /* argp */
- s8addq $18, $17, $18 /* (8*(argc+1))+argv -> argp */
-
- stq $18, environ
-
- mov $0, $21 /* mov v0(dynload) to a5 */
-
- jsr $26, main
- mov $0, $16
- jsr $26, exit /* YES, CALL! for threads and atexit ! (+4 byte) */
-
-#endif
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/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 02a1c9bcd..000000000
--- a/mdk-stage1/dietlibc/alpha/unified.S
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <dietfeatures.h>
-
-.global __unified_syscall
-__unified_syscall:
- callsys
- bne $19, .Lerror
- ret $31, ($26), 0x01
-
-.Lerror:
-.global error_unified_syscall
-error_unified_syscall:
-#ifdef WANT_THREAD_SAVE
- 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/diet.c b/mdk-stage1/dietlibc/diet.c
deleted file mode 100644
index 1de6befc8..000000000
--- a/mdk-stage1/dietlibc/diet.c
+++ /dev/null
@@ -1,112 +0,0 @@
-#include <string.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.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"
-*/
-
-void error(const char *message) {
- write(2,message,strlen(message));
- exit(1);
-}
-
-int main(int argc,char *argv[]) {
- int link=0;
- int compile=0;
- char diethome[]=DIETHOME;
- char platform[1000]=DIETHOME "/bin-";
- char *nostdlib="-nostdlib";
- char *libgcc="-lgcc";
- char dashL[1000]="-L";
- int i;
-
- if (argc<2) {
- error("usage: diet [gcc command line]\n"
- "e.g. diet gcc -c t.c\n"
- "or diet sparc-linux-gcc -o foo foo.c bar.o\n");
- }
- {
- char *tmp=strchr(argv[1],0)-2;
- char *tmp2;
- char *cc=argv[1];
- if (tmp<cc) goto donttouch;
- if ((tmp2=strchr(cc,'-'))) { /* cross compiling? */
- int len=strlen(platform);
- if (tmp2-cc>90) error("platform name too long!\n");
- memmove(platform+len,argv[1],tmp2-cc);
- platform[tmp2-cc+len]=0;
-/* printf("found platform %s\n",platform); */
- } else {
-#ifdef __sparc__
- strcat(platform,"sparc");
-#endif
-#ifdef __ppc__
- strcat(platform,"ppc");
-#endif
-#ifdef __i386__
- strcat(platform,"i386");
-#endif
-#ifdef __alpha__
- strcat(platform,"alpha");
-#endif
-#ifdef __arm__
- strcat(platform,"arm");
-#endif
-#ifdef __mips__
- strcat(platform,"mips");
-#endif
- }
- strcat(dashL,platform);
- if (!strcmp(tmp,"cc")) {
- char **newargv;
- char **dest;
- char *a,*b,*c;
-/* we need to add -I... if the command line contains -c, -S or -E */
- for (i=2; i<argc; ++i)
- if (!strcmp(argv[i],"-c") || !strcmp(argv[i],"-S") || !strcmp(argv[i],"-E"))
- compile=1;
-/* we need to add -nostdlib if we are not compiling*/
- link=!compile;
-#if 0
- for (i=2; i<argc; ++i)
- if (!strcmp(argv[i],"-o"))
- if (!compile) link=1;
-#endif
- newargv=alloca(sizeof(char*)*(argc+6));
- a=alloca(strlen(diethome)+20);
- b=alloca(strlen(platform)+20);
- c=alloca(strlen(platform)+20);
-
- strcpy(a,"-I"); strcat(a,diethome); strcat(a,"/include");
- strcpy(b,platform); strcat(b,"/start.o");
- strcpy(c,platform); strcat(c,"/dietlibc.a");
-
- dest=newargv;
- *dest++=argv[1];
- if (link) { *dest++=nostdlib; *dest++=dashL; }
- if (compile || link) *dest++=a;
- for (i=2; i<argc; ++i)
- *dest++=argv[i];
- if (link) { *dest++=b; *dest++=c; *dest++=libgcc; }
- *dest=0;
- 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 d732cf7dc..000000000
--- a/mdk-stage1/dietlibc/dietdirent.h
+++ /dev/null
@@ -1,6 +0,0 @@
-struct __dirstream {
- int fd;
- char buf[1024];
- unsigned int num;
- unsigned int cur;
-}; /* stream data from opendir() */
diff --git a/mdk-stage1/dietlibc/dietfeatures.h b/mdk-stage1/dietlibc/dietfeatures.h
deleted file mode 100644
index e1de38577..000000000
--- a/mdk-stage1/dietlibc/dietfeatures.h
+++ /dev/null
@@ -1,42 +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 SLASH_PROC_OK
-
-// #define WANT_BUFFERED_STDIO
-
-/* use errno_location instead of errno */
-// #define WANT_THREAD_SAFE
-
-/* make the startcode, etc. dynamic aware */
-/* #undef WANT_DYNAMIC */
-
-/* do you want smaller or faster string routines? */
-/* #define WANT_FASTER_STRING_ROUTINES */
-
-/* do you want ungetc? makes fgetc more complex */
-#define WANT_UNGETC
-
-// #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.4 */
-// #define WANT_LARGEFILE_BACKCOMPAT
-
-/* do you want localtime(3) to read /etc/localtime?
- * Needed for daylight saving time etc. */
-// #define WANT_TZFILE_PARSER
-
-/* stop uncommenting here ;-) */
-#ifndef WANT_FASTER_STRING_ROUTINES
-#define WANT_SMALL_STRING_ROUTINES
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/dietstdarg.h b/mdk-stage1/dietlibc/dietstdarg.h
deleted file mode 100644
index 827671b22..000000000
--- a/mdk-stage1/dietlibc/dietstdarg.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <stdarg.h>
-
-/* this assumes that va_copy() will be a macro, it is on gcc */
-#ifndef va_copy
-# ifdef __va_copy
-# define va_copy(x, y) __va_copy(x, y)
-# else
-/* assume copying it works... */
-# define va_copy(x, y) x = y
-# endif
-#endif
-
diff --git a/mdk-stage1/dietlibc/dietstdio.h b/mdk-stage1/dietlibc/dietstdio.h
deleted file mode 100644
index a1cbeba83..000000000
--- a/mdk-stage1/dietlibc/dietstdio.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* diet stdio -- no buffering ;-} */
-
-#include "dietfeatures.h"
-#include <sys/types.h>
-#ifdef WANT_THREAD_SAVE
-#include <pthread.h>
-#endif
-
-#define BUFSIZE 128
-
-typedef struct __file {
- int fd;
- int flags;
-#ifdef WANT_BUFFERED_STDIO
- unsigned int bs; /* read: bytes in buffer */
- unsigned int bm; /* position in buffer */
- char buf[BUFSIZE];
- struct __file *next; /* for fflush */
-#endif
- pid_t popen_kludge;
-#ifdef WANT_UNGETC
- char ungetbuf;
- char ungotten;
-#endif
-#ifdef WANT_THREAD_SAVE
- pthread_mutex_t m;
-#endif
-} FILE;
-
-extern FILE *__stdio_root;
-
-#define ERRORINDICATOR 1
-#define EOFINDICATOR 2
-#define BUFINPUT 4
-#define BUFLINEWISE 8
-#define NOBUF 16
-#define UNSEEKABLE 32
-
-#define _IONBF 0
-#define _IOLBF 1
-#define _IOFBF 2
-
-/* 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);
-
-FILE *fopen (const char *path, const char *mode);
-FILE *fdopen (int fildes, const char *mode);
-FILE *freopen (const char *path, const char *mode, FILE *stream);
-
-int fgetc(FILE *stream);
-char *fgets(char *s, int size, FILE *stream);
-int getc(FILE *stream);
-int getchar(void);
-char *gets(char *s);
-int ungetc(int c, FILE *stream);
-
-int fputc(int c, FILE *stream);
-int fputs(const char *s, FILE *stream);
-int putc(int c, FILE *stream);
-int putchar(int c);
-int puts(const char *s);
-
-long fseek( FILE *stream, long offset, int whence);
-long ftell( FILE *stream);
-void rewind( FILE *stream);
-int fgetpos( FILE *stream, fpos_t *pos);
-int fsetpos( FILE *stream, fpos_t *pos);
-
-size_t fread( void *ptr, size_t size, size_t nmemb, FILE *stream);
-
-size_t fwrite( const void *ptr, size_t size, size_t nmemb, FILE *stream);
-
-int fflush(FILE *stream);
-
-int fclose(FILE *stream);
-
-extern FILE *stdout, *stderr, *stdin;
-
-#define EOF (int)(-1)
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/dirstream.h b/mdk-stage1/dietlibc/dirstream.h
deleted file mode 100644
index dc8fba79c..000000000
--- a/mdk-stage1/dietlibc/dirstream.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (C) 1991, 1992 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, 1992 Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
-
-/*
- * POSIX Standard: 5.1.2 Directory Operations <dirent.h>
- */
-
-#ifndef _DIRSTREAM_H
-
-#define _DIRSTREAM_H 1
-
-#include <sys/types.h>
-#include <dirent.h>
-#ifdef _POSIX_THREADS
-#include <pthread.h>
-#endif
-
-/* For now, syscall readdir () only supports one entry at a time. It
- * will be changed in the future.
-#define NUMENT 3
-*/
-#ifndef NUMENT
-#define NUMENT 1
-#endif
-
-#define SINGLE_READDIR 11
-#define MULTI_READDIR 12
-#define NEW_READDIR 13
-
-/* Directory stream type. */
-struct __dirstream {
- /* file descriptor */
- int dd_fd;
-
- /* offset of the next dir entry in buffer */
- off_t dd_nextloc;
-
- /* bytes of valid entries in buffer */
- size_t dd_size;
-
- /* -> directory buffer */
- struct dirent *dd_buf;
-
- /* we have to convert */
- struct dirent convbuf;
-
- /* offset of the next dir entry in directory. */
- off_t dd_nextoff;
-
- /* total size of buffer */
- size_t dd_max;
-
- enum {unknown, have_getdents, no_getdents} dd_getdents;
-
- /* lock */
-#ifdef _POSIX_THREADS
- pthread_mutex_t *dd_lock;
-#else
- void *dd_lock;
-#endif
-}; /* stream data from opendir() */
-
-#endif /* dirent.h */
diff --git a/mdk-stage1/dietlibc/i386/Makefile.add b/mdk-stage1/dietlibc/i386/Makefile.add
deleted file mode 100644
index b685cc360..000000000
--- a/mdk-stage1/dietlibc/i386/Makefile.add
+++ /dev/null
@@ -1,3 +0,0 @@
-
-CFLAGS+=-march=i386 -mcpu=i386 -Os -fomit-frame-pointer
-VPATH:=i386:syscalls.s:$(VPATH)
diff --git a/mdk-stage1/dietlibc/i386/__longjmp.S b/mdk-stage1/dietlibc/i386/__longjmp.S
deleted file mode 100644
index 098275037..000000000
--- a/mdk-stage1/dietlibc/i386/__longjmp.S
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <setjmp.h>
-
-.text
-.global __longjmp
-__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/__testandset.S b/mdk-stage1/dietlibc/i386/__testandset.S
deleted file mode 100644
index af7b4d5a0..000000000
--- a/mdk-stage1/dietlibc/i386/__testandset.S
+++ /dev/null
@@ -1,8 +0,0 @@
-.text
-.global __testandset
-__testandset:
- xorl %eax, %eax
- movl 0x4(%esp),%edx
- incl %eax
- xchgl %eax,(%edx)
- ret
diff --git a/mdk-stage1/dietlibc/i386/clone.S b/mdk-stage1/dietlibc/i386/clone.S
deleted file mode 100644
index ac02eb468..000000000
--- a/mdk-stage1/dietlibc/i386/clone.S
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <asm/unistd.h>
-
-.text
-.weak clone
-clone:
-.global __clone
-__clone:
- movl 4(%esp), %ecx /* have non null thread_funcion */
- testl %ecx, %ecx
- je .Lclone_error
-
- movl 8(%esp), %ecx /* have non null child_stack pointer */
- testl %ecx, %ecx
- je .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
- je .Lstart_thread
- ret
-
-.Lstart_thread:
- xorl %ebp,%ebp
- call *%ebx
- pushl %eax
- call _exit
-
-.Lclone_error:
- negl %eax
- pushl %eax
- call __errno_location
- popl %ecx
- movl %ecx, (%eax)
- xorl %eax, %eax
- decl %eax
- ret
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/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/setjmp.S b/mdk-stage1/dietlibc/i386/setjmp.S
deleted file mode 100644
index 9bfecf565..000000000
--- a/mdk-stage1/dietlibc/i386/setjmp.S
+++ /dev/null
@@ -1,62 +0,0 @@
-#include <setjmp.h>
-
-/* setjmp for i386.
- Copyright (C) 1995, 1996, 1997 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. */
-
-.section .rodata
-.text
-.weak setjmp
-setjmp:
-.globl __setjmp
-__setjmp:
- popl %eax /* Pop return address. */
- popl %ecx /* Pop jmp_buf. */
- pushl $0 /* Push zero argument. */
- pushl %ecx /* Push jmp_buf. */
- pushl %eax /* Push back return address. */
-
-.globl __sigsetjmp
-__sigsetjmp:
- movl 4(%esp), %eax /* User's jmp_buf in %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), %ecx /* Save SP as it will be after we return. */
- movl %ecx, (JB_SP*4)(%eax)
- movl 0(%esp), %ecx /* Save PC we are returning to now. */
- movl %ecx, (JB_PC*4)(%eax)
-
- /* Make a tail call to __sigjmp_save; it takes the same args. */
-#ifdef PIC
- /* We cannot use the PLT, because it requires that %ebx be set, but
- we can't save and restore our caller's value. Instead, we do an
- indirect jump through the GOT, using for the temporary register
- %ecx, which is call-clobbered. */
- call L(here)
-L(here):
- popl %ecx
- addl $_GLOBAL_OFFSET_TABLE_+[.-L(here)], %ecx
- movl C_SYMBOL_NAME(__sigjmp_save@GOT)(%ecx), %ecx
- jmp *%ecx
-#else
- jmp __sigjmp_save
-#endif
-.size __sigsetjmp,.-__sigsetjmp;
diff --git a/mdk-stage1/dietlibc/i386/start.S b/mdk-stage1/dietlibc/i386/start.S
deleted file mode 100644
index 167bb779c..000000000
--- a/mdk-stage1/dietlibc/i386/start.S
+++ /dev/null
@@ -1,42 +0,0 @@
-#include "start.h"
-
-#ifdef __i386__
-.text
-.globl _start
-_start:
-#if 0
- popl %ecx
- movl %esp, %esi
- leal 4(%esp,%ecx,4),%eax
-#else
- movl (%esp),%ecx /* %ecx = argc */
- leal 4(%esp),%esi /* %esi = argv */
-
- leal 4(%esi,%ecx,4),%eax /* eax = 4*ecx+4 = envp */
-#endif
- pushl %eax
- pushl %esi
- pushl %ecx
- movl %eax,environ
-
-#ifdef WANT_DYNAMIC
-/* in %edx we have the dynamic _fini ( register this if non null ) */
- test %edx, %edx
- je .Linit
- push %edx
- call atexit
- pop %edx
-.Linit:
- call _init
- push $_fini
- call atexit
- pop %edx
-#endif
-
- call main
- pushl %eax
- call exit
-.Lfefe:
- .size _start,.Lfefe-_start
-#endif
-
diff --git a/mdk-stage1/dietlibc/i386/unified.S b/mdk-stage1/dietlibc/i386/unified.S
deleted file mode 100644
index f182bdb4b..000000000
--- a/mdk-stage1/dietlibc/i386/unified.S
+++ /dev/null
@@ -1,34 +0,0 @@
-#include <dietfeatures.h>
-
-.text
-.global __unified_syscall
-__unified_syscall:
- movzbl %al, %eax
- 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
-#ifdef WANT_THREAD_SAVE
- movl %eax,%ebx
- call __errno_location
- neg %ebx
- movl %ebx,(%eax)
-#else
- neg %eax
- mov %eax,errno
-#endif
- xor %eax,%eax
- dec %eax
-.Lnoerror:
- pop %ebx
- pop %esi
- pop %edi
- ret
diff --git a/mdk-stage1/dietlibc/include/alloca.h b/mdk-stage1/dietlibc/include/alloca.h
deleted file mode 100644
index e69de29bb..000000000
--- a/mdk-stage1/dietlibc/include/alloca.h
+++ /dev/null
diff --git a/mdk-stage1/dietlibc/include/arpa/inet.h b/mdk-stage1/dietlibc/include/arpa/inet.h
deleted file mode 100644
index 6d5a6dc35..000000000
--- a/mdk-stage1/dietlibc/include/arpa/inet.h
+++ /dev/null
@@ -1,19 +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;
-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 1ee048d66..000000000
--- a/mdk-stage1/dietlibc/include/arpa/nameser.h
+++ /dev/null
@@ -1,217 +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;
-
-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/assert.h b/mdk-stage1/dietlibc/include/assert.h
deleted file mode 100644
index bb573d0f2..000000000
--- a/mdk-stage1/dietlibc/include/assert.h
+++ /dev/null
@@ -1,27 +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
-#define __ASSERT_FUNCTION __func__
-#endif
-
-#undef assert
-#ifdef NDEBUG
-#define assert(expr)
-#else
-# define assert(expr) \
- ((void) ((expr) ? 0 : \
- (__assert_fail (#expr, \
- __FILE__, __LINE__, __ASSERT_FUNCTION), 0)))
-#endif
-
-#endif
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 9049f367d..000000000
--- a/mdk-stage1/dietlibc/include/daemon.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _DAEMON_H
-#define _DAEMON_H
-
-extern int daemon (int nochdir,int noclose);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/dirent.h b/mdk-stage1/dietlibc/include/dirent.h
deleted file mode 100644
index b0ad4f5ec..000000000
--- a/mdk-stage1/dietlibc/include/dirent.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _DIRENT_H
-#define _DIRENT_H 1
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#include <linux/dirent.h>
-
-#define d_fileno d_ino /* Backwards compatibility. */
-
-#undef _DIRENT_HAVE_D_NAMLEN
-#define _DIRENT_HAVE_D_RECLEN
-#define _DIRENT_HAVE_D_OFF
-#define _DIRENT_HAVE_D_TYPE
-
-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;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/dlfcn.h b/mdk-stage1/dietlibc/include/dlfcn.h
deleted file mode 100644
index b96f8f615..000000000
--- a/mdk-stage1/dietlibc/include/dlfcn.h
+++ /dev/null
@@ -1,15 +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
-
-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 be09dbee4..000000000
--- a/mdk-stage1/dietlibc/include/elf.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <linux/elf.h>
diff --git a/mdk-stage1/dietlibc/include/endian.h b/mdk-stage1/dietlibc/include/endian.h
deleted file mode 100644
index 463c24fff..000000000
--- a/mdk-stage1/dietlibc/include/endian.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef _ENDIAN_H
-#define _ENDIAN_H
-
-#define __LITTLE_ENDIAN 1234
-#define __BIG_ENDIAN 4321
-
-#ifdef __i386__
-#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 __mips__
-#ifdef __MIPSEB__
-#define __BIG_ENDIAN__
-#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
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/errno.h b/mdk-stage1/dietlibc/include/errno.h
deleted file mode 100644
index d1c68f39c..000000000
--- a/mdk-stage1/dietlibc/include/errno.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _ERRNO_H
-#define _ERRNO_H
-
-extern int errno;
-
-#include <linux/errno.h>
-
-extern int *__errno_location(void);
-extern void __set_errno(int error);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/fcntl.h b/mdk-stage1/dietlibc/include/fcntl.h
deleted file mode 100644
index b792502c1..000000000
--- a/mdk-stage1/dietlibc/include/fcntl.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _FCNTL_H
-#define _FCNTL_H
-
-#include <sys/cdefs.h>
-
-#include <sys/types.h>
-#include <unistd.h>
-
-#include <asm/fcntl.h>
-
-extern int fcntl (int __fd, int __cmd, ...) __THROW;
-extern int open (const char *__file, int __oflag, ...) __THROW;
-extern int open64 (const char *__file, int __oflag, ...) __THROW;
-extern int creat (const char *__file, mode_t __mode) __THROW;
-extern int creat64 (const char *__file, mode_t __mode) __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. */
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/features.h b/mdk-stage1/dietlibc/include/features.h
deleted file mode 100644
index 5b0283f20..000000000
--- a/mdk-stage1/dietlibc/include/features.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#warning "someone included features.h, apparently someone is including glibc headers!"
-
-#define __dietlibc__
diff --git a/mdk-stage1/dietlibc/include/fnmatch.h b/mdk-stage1/dietlibc/include/fnmatch.h
deleted file mode 100644
index 762b43ff7..000000000
--- a/mdk-stage1/dietlibc/include/fnmatch.h
+++ /dev/null
@@ -1,15 +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
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/ftw.h b/mdk-stage1/dietlibc/include/ftw.h
deleted file mode 100644
index c888f0021..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 ebfc5522d..000000000
--- a/mdk-stage1/dietlibc/include/getopt.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __GETOPT_H__
-#define __GETOPT_H__
-
-extern int optind,opterr;
-extern char *optarg;
-int getopt(int argc, char *argv[], char *options);
-
-/* the following was taken from GNU getopt, it's not actually supported
- * by the diet libc! */
-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 80febbccf..000000000
--- a/mdk-stage1/dietlibc/include/glob.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _GLOB_H
-#define _GLOB_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 32bf49afc..000000000
--- a/mdk-stage1/dietlibc/include/grp.h
+++ /dev/null
@@ -1,25 +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;
-
-extern int setgroups(size_t n, const gid_t *groups) __THROW;
-extern int initgroups(const char *user, gid_t group) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/inttypes.h b/mdk-stage1/dietlibc/include/inttypes.h
deleted file mode 100644
index e69de29bb..000000000
--- a/mdk-stage1/dietlibc/include/inttypes.h
+++ /dev/null
diff --git a/mdk-stage1/dietlibc/include/limits.h b/mdk-stage1/dietlibc/include/limits.h
deleted file mode 100644
index a333debfd..000000000
--- a/mdk-stage1/dietlibc/include/limits.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#ifndef _LIMITS_H
-#define _LIMITS_H
-
-#include <linux/limits.h>
-
-#define __WORDSIZE 32
-
-#ifdef __alpha__
-#undef __WORDSIZE
-#define __WORDSIZE 64
-#endif
-
-#ifndef PATH_MAX
-#define PATH_MAX 4096
-#endif
-
-#define CHAR_BIT 8
-
-#define SCHAR_MIN (-128)
-#define SCHAR_MAX 0x7f
-#define UCHAR_MAX 0xff
-
-#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 PASS_MAX 256
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/locale.h b/mdk-stage1/dietlibc/include/locale.h
deleted file mode 100644
index acbeec8c1..000000000
--- a/mdk-stage1/dietlibc/include/locale.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#warning "there is no locale support for diet libc yet"
-
-#define setlocale(a,b) 0
-#define bindtextdomain
-#define textdomain
-
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 2f4f2e33f..000000000
--- a/mdk-stage1/dietlibc/include/math.h
+++ /dev/null
@@ -1,61 +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 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__));
-
-
-#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/if.h b/mdk-stage1/dietlibc/include/net/if.h
deleted file mode 100644
index 88f386f46..000000000
--- a/mdk-stage1/dietlibc/include/net/if.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _NET_IF_H
-#define _NET_IF_H
-
-#include <sys/cdefs.h>
-
-#include <linux/if.h>
-
-unsigned int if_nametoindex (const char *ifname) __THROW;
-char *if_indextoname (unsigned int ifindex, char *ifname) __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 fe37a22dc..000000000
--- a/mdk-stage1/dietlibc/include/net/if_arp.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _NET_IF_ARP_H
-#define _NET_IF_ARP_H
-
-#include <linux/if_arp.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/net/route.h b/mdk-stage1/dietlibc/include/net/route.h
deleted file mode 100644
index 5e5db7b1a..000000000
--- a/mdk-stage1/dietlibc/include/net/route.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _NET_IF_ROUTE_H
-#define _NET_IF_ROUTE_H
-
-#include <linux/route.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netdb.h b/mdk-stage1/dietlibc/include/netdb.h
deleted file mode 100644
index e90ea81ac..000000000
--- a/mdk-stage1/dietlibc/include/netdb.h
+++ /dev/null
@@ -1,90 +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 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 *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
-
-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;
-
-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;
-
-
-/* Description of data base entry for a single network. NOTE: here a
- poor assumption is made. The network number is expected to fit
- into an unsigned long int variable. */
-struct netent
-{
- char *n_name; /* Official name of network. */
- char **n_aliases; /* Alias list. */
- int n_addrtype; /* Net address type. */
- uint32_t n_net; /* Network number. */
-};
-
-extern struct netent *getnetbyname (__const char *__name) __THROW;
-
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/netinet/in.h b/mdk-stage1/dietlibc/include/netinet/in.h
deleted file mode 100644
index 0569c8289..000000000
--- a/mdk-stage1/dietlibc/include/netinet/in.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _NETINET_IN_H
-#define _NETINET_IN_H
-
-#include <linux/in.h>
-#include <linux/in6.h>
-
-#define IPPORT_RESERVED 1024
-
-#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 35bf9cc42..000000000
--- a/mdk-stage1/dietlibc/include/netinet/ip.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _NETINET_IP_H
-#define _NETINET_IP_H
-
-#include <linux/ip.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/paths.h b/mdk-stage1/dietlibc/include/paths.h
deleted file mode 100644
index 0e36bb10e..000000000
--- a/mdk-stage1/dietlibc/include/paths.h
+++ /dev/null
@@ -1,16 +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"
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/pthread.h b/mdk-stage1/dietlibc/include/pthread.h
deleted file mode 100644
index e922ab28b..000000000
--- a/mdk-stage1/dietlibc/include/pthread.h
+++ /dev/null
@@ -1,227 +0,0 @@
-#ifndef _PTHREAD_H
-#define _PTHREAD_H 1
-
-#include <sched.h>
-#include <signal.h>
-#include <setjmp.h>
-
-/* arg... kernel haeder... */
-#define ENOTSUP 524 /* Operation is not supported */
-
-#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 unsigned long int pthread_t;
-
-/* Fast locks */
-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 \
-{{0}, 0, PTHREAD_MUTEX_FAST_NP, 0}
-
-#define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \
-{{0}, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0}
-
-#define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
-{{0}, 0, PTHREAD_MUTEX_ERRORCHECK_NP, 0}
-
-typedef struct {
- int __mutexkind;
-} pthread_mutexattr_t;
-
-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 \
-{{0},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);
-
-/* ONCE */
-typedef int pthread_once_t;
-#define PTHREAD_ONCE_INIT 0
-
-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 *__thread,
- 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);
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/pwd.h b/mdk-stage1/dietlibc/include/pwd.h
deleted file mode 100644
index e6fb5d0be..000000000
--- a/mdk-stage1/dietlibc/include/pwd.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _PWD_H
-#define _PWD_H
-
-#include <sys/cdefs.h>
-#include <sys/types.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;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/regex.h b/mdk-stage1/dietlibc/include/regex.h
deleted file mode 100644
index be609d9db..000000000
--- a/mdk-stage1/dietlibc/include/regex.h
+++ /dev/null
@@ -1,67 +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;
-
-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 */
-};
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/resolv.h b/mdk-stage1/dietlibc/include/resolv.h
deleted file mode 100644
index 4e90799c2..000000000
--- a/mdk-stage1/dietlibc/include/resolv.h
+++ /dev/null
@@ -1 +0,0 @@
-void res_init(void);
diff --git a/mdk-stage1/dietlibc/include/rpc/auth.h b/mdk-stage1/dietlibc/include/rpc/auth.h
deleted file mode 100644
index 4aa7d21ce..000000000
--- a/mdk-stage1/dietlibc/include/rpc/auth.h
+++ /dev/null
@@ -1,213 +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 <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 {
- u_int32_t high;
- u_int32_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 */
- caddr_t oa_base; /* address of more auth stuff */
- u_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;
- caddr_t 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, u_int __window,
- struct sockaddr *__syncaddr, des_block *__ckey)
- __THROW;
-extern AUTH *authdes_pk_create (const char *, netobj *, u_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 198b299e7..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 7a1bfa9f0..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
- {
- u_long aup_time;
- char *aup_machname;
- uid_t aup_uid;
- gid_t aup_gid;
- u_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 60b0fafdf..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 {
- u_long low; /* lowest verion supported */
- u_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 *, u_long, xdrproc_t, caddr_t, xdrproc_t,
- caddr_t, 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, caddr_t);
- /* frees results */
- void (*cl_destroy) (CLIENT *); /* destroy this structure */
- bool_t (*cl_control) (CLIENT *, int, char *);
- /* the ioctl() of rpc */
- } *cl_ops;
- caddr_t 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;
- * u_long proc;
- * xdrproc_t xargs;
- * caddr_t argsp;
- * xdrproc_t xres;
- * caddr_t 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;
- * caddr_t 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;
- * u_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 ((u_long)1)
-#define RPCTEST_VERSION ((u_long)1)
-#define RPCTEST_NULL_PROC ((u_long)2)
-#define RPCTEST_NULL_BATCH_PROC ((u_long)3)
-
-/*
- * By convention, procedure 0 takes null arguments and returns them
- */
-
-#define NULLPROC ((u_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)
- * u_long prog;
- * u_long vers;
- */
-extern CLIENT *clntraw_create (__const u_long __prog, __const u_long __vers)
- __THROW;
-
-
-/*
- * Generic client creation routine. Supported protocols are "udp", "tcp" and
- * "unix"
- * CLIENT *
- * clnt_create(host, prog, vers, prot)
- * char *host; -- hostname
- * u_long prog; -- program number
- * u_ong vers; -- version number
- * char *prot; -- protocol
- */
-extern CLIENT *clnt_create (__const char *__host, __const u_long __prog,
- __const u_long __vers, __const char *__prot)
- __THROW;
-
-
-/*
- * TCP based rpc
- * CLIENT *
- * clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz)
- * struct sockaddr_in *raddr;
- * u_long prog;
- * u_long version;
- * register int *sockp;
- * u_int sendsz;
- * u_int recvsz;
- */
-extern CLIENT *clnttcp_create (struct sockaddr_in *__raddr, u_long __prog,
- u_long __version, int *__sockp, u_int __sendsz,
- u_int __recvsz) __THROW;
-
-/*
- * UDP based rpc.
- * CLIENT *
- * clntudp_create(raddr, program, version, wait, sockp)
- * struct sockaddr_in *raddr;
- * u_long program;
- * u_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;
- * u_long program;
- * u_long version;
- * struct timeval wait_resend;
- * int *sockp;
- * u_int sendsz;
- * u_int recvsz;
- */
-extern CLIENT *clntudp_create (struct sockaddr_in *__raddr, u_long __program,
- u_long __version, struct timeval __wait_resend,
- int *__sockp) __THROW;
-extern CLIENT *clntudp_bufcreate (struct sockaddr_in *__raddr,
- u_long __program, u_long __version,
- struct timeval __wait_resend, int *__sockp,
- u_int __sendsz, u_int __recvsz) __THROW;
-
-
-
-
-/*
- * AF_UNIX based rpc
- * CLIENT *
- * clntunix_create(raddr, prog, vers, sockp, sendsz, recvsz)
- * struct sockaddr_un *raddr;
- * u_long prog;
- * u_long version;
- * register int *sockp;
- * u_int sendsz;
- * u_int recvsz;
- */
-extern CLIENT *clntunix_create (struct sockaddr_un *__raddr, u_long __program,
- u_long __version, int *__sockp,
- u_int __sendsz, u_int __recvsz) __THROW;
-
-
-extern int callrpc (__const char *__host, __const u_long __prognum,
- __const u_long __versnum, __const u_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, u_long __prognum,
- u_long __versnum, u_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 3e2eb7208..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 {
- u_int uid;
- u_int gid;
- struct {
- u_int gids_len;
- u_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 ((u_long)100029)
-#define KEY_VERS ((u_long)1)
-
-#ifdef __cplusplus
-#define KEY_SET ((u_long)1)
-extern "C" keystatus * key_set_1(opaque *, CLIENT *);
-extern "C" keystatus * key_set_1_svc(opaque *, struct svc_req *);
-#define KEY_ENCRYPT ((u_long)2)
-extern "C" cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_DECRYPT ((u_long)3)
-extern "C" cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
-extern "C" cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_GEN ((u_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 ((u_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 ((u_long)1)
-extern keystatus * key_set_1(opaque *, CLIENT *);
-extern keystatus * key_set_1_svc(opaque *, struct svc_req *);
-#define KEY_ENCRYPT ((u_long)2)
-extern cryptkeyres * key_encrypt_1(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_encrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_DECRYPT ((u_long)3)
-extern cryptkeyres * key_decrypt_1(cryptkeyarg *, CLIENT *);
-extern cryptkeyres * key_decrypt_1_svc(cryptkeyarg *, struct svc_req *);
-#define KEY_GEN ((u_long)4)
-extern des_block * key_gen_1(void *, CLIENT *);
-extern des_block * key_gen_1_svc(void *, struct svc_req *);
-#define KEY_GETCRED ((u_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 ((u_long)1)
-extern keystatus * key_set_1();
-extern keystatus * key_set_1_svc();
-#define KEY_ENCRYPT ((u_long)2)
-extern cryptkeyres * key_encrypt_1();
-extern cryptkeyres * key_encrypt_1_svc();
-#define KEY_DECRYPT ((u_long)3)
-extern cryptkeyres * key_decrypt_1();
-extern cryptkeyres * key_decrypt_1_svc();
-#define KEY_GEN ((u_long)4)
-extern des_block * key_gen_1();
-extern des_block * key_gen_1_svc();
-#define KEY_GETCRED ((u_long)5)
-extern getcredres * key_getcred_1();
-extern getcredres * key_getcred_1_svc();
-#endif /* Old Style C */
-#define KEY_VERS2 ((u_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 ((u_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 ((u_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 ((u_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 ((u_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 ((u_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 ((u_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 ((u_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 ((u_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 ((u_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 ((u_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 ((u_long)6)
-extern cryptkeyres * key_encrypt_pk_2();
-extern cryptkeyres * key_encrypt_pk_2_svc();
-#define KEY_DECRYPT_PK ((u_long)7)
-extern cryptkeyres * key_decrypt_pk_2();
-extern cryptkeyres * key_decrypt_pk_2_svc();
-#define KEY_NET_PUT ((u_long)8)
-extern keystatus * key_net_put_2();
-extern keystatus * key_net_put_2_svc();
-#define KEY_NET_GET ((u_long)9)
-extern key_netstres * key_net_get_2();
-extern key_netstres * key_net_get_2_svc();
-#define KEY_GET_CONV ((u_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 da4bddfc4..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 68bc8d8ec..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) (caddr_t 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;
- * caddr_t 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 u_long __program, __const u_long __vers,
- int __protocol, u_short __port) __THROW;
-extern bool_t pmap_unset (__const u_long __program, __const u_long __vers)
- __THROW;
-extern struct pmaplist *pmap_getmaps (struct sockaddr_in *__address) __THROW;
-extern enum clnt_stat pmap_rmtcall (struct sockaddr_in *__addr,
- __const u_long __prog,
- __const u_long __vers,
- __const u_long __proc,
- xdrproc_t __xdrargs,
- caddr_t __argsp, xdrproc_t __xdrres,
- caddr_t __resp, struct timeval __tout,
- u_long *__port_ptr) __THROW;
-extern enum clnt_stat clnt_broadcast (__const u_long __prog,
- __const u_long __vers,
- __const u_long __proc, xdrproc_t __xargs,
- caddr_t __argsp, xdrproc_t __xresults,
- caddr_t __resultsp,
- resultproc_t __eachresult) __THROW;
-extern u_short pmap_getport (struct sockaddr_in *__address,
- __const u_long __program,
- __const u_long __version, u_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 fd7fb8e7e..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 ((u_short)111)
-#define PMAPPROG ((u_long)100000)
-#define PMAPVERS ((u_long)2)
-#define PMAPVERS_PROTO ((u_long)2)
-#define PMAPVERS_ORIG ((u_long)1)
-#define PMAPPROC_NULL ((u_long)0)
-#define PMAPPROC_SET ((u_long)1)
-#define PMAPPROC_UNSET ((u_long)2)
-#define PMAPPROC_GETPORT ((u_long)3)
-#define PMAPPROC_DUMP ((u_long)4)
-#define PMAPPROC_CALLIT ((u_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 160f998ca..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 {
- u_long prog, vers, proc, arglen;
- caddr_t args_ptr;
- xdrproc_t xdr_args;
-};
-
-extern bool_t xdr_rmtcall_args (XDR *__xdrs, struct rmtcallargs *__crp)
- __THROW;
-
-struct rmtcallres {
- u_long *port_ptr;
- u_long resultslen;
- caddr_t 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 20b341d74..000000000
--- a/mdk-stage1/dietlibc/include/rpc/rpc.h
+++ /dev/null
@@ -1,72 +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 */
-
-int bindresvport(int sd, struct sockaddr_in* sin) __THROW;
-
-#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 636d60ea9..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 ((u_long) 2)
-#define RPC_SERVICE_PORT ((u_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 {
- u_long low;
- u_long high;
- } AR_versions;
- struct {
- caddr_t 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 {
- u_long low;
- u_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 {
- u_long cb_rpcvers; /* must be equal to two */
- u_long cb_prog;
- u_long cb_vers;
- u_long cb_proc;
- struct opaque_auth cb_cred;
- struct opaque_auth cb_verf; /* protocol specific - provided by client */
-};
-
-/*
- * The rpc message
- */
-struct rpc_msg {
- u_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 27c997dde..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;
- u_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,
- caddr_t 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,
- caddr_t 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 */
- caddr_t xp_p1; /* private */
- caddr_t 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;
- * caddr_t 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 */
- caddr_t 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,
- caddr_t __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, u_int __sendsz, u_int __recvsz)
- __THROW;
-
-/*
- * Tcp based rpc.
- */
-extern SVCXPRT *svctcp_create (int __sock, u_int __sendsize, u_int __recvsize)
- __THROW;
-
-
-/*
- * Unix based rpc.
- */
-extern SVCXPRT *svcunix_create (int __sock, u_int __sendsize, u_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 e2e8402be..000000000
--- a/mdk-stage1/dietlibc/include/rpc/types.h
+++ /dev/null
@@ -1,78 +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
-
-#ifndef NULL
-# define NULL 0
-#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
-#include <sys/time.h>
-#include <sys/param.h>
-
-#include <netinet/in.h>
-
-#ifndef INADDR_LOOPBACK
-#define INADDR_LOOPBACK (u_long)0x7F000001
-#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 ce092f085..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, caddr_t __addr, u_int __len);
- /* get some bytes from " */
- bool_t (*x_putbytes) (XDR *__xdrs, const char *__addr, u_int __len);
- /* put some bytes to " */
- u_int (*x_getpostn) (const XDR *__xdrs);
- /* returns bytes off from beginning */
- bool_t (*x_setpostn) (XDR *__xdrs, u_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;
- caddr_t x_public; /* users' data */
- caddr_t x_private; /* pointer to private data */
- caddr_t 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 *, caddr_t *);
- */
-typedef bool_t (*xdrproc_t) (XDR *, void *,...);
-
-
-/*
- * Operations defined on a XDR handle
- *
- * XDR *xdrs;
- * int32_t *int32p;
- * long *longp;
- * caddr_t addr;
- * u_int len;
- * u_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((u_long)*__extension__((u_int32_t*)(buf))++))
-#define IXDR_PUT_LONG(buf, v) \
- (*__extension__((u_int32_t*)(buf))++ = (long)htonl((u_long)(v)))
-#define IXDR_GET_U_LONG(buf) ((u_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) ((u_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, u_short *__usp) __THROW;
-extern bool_t xdr_int (XDR *__xdrs, int *__ip) __THROW;
-extern bool_t xdr_u_int (XDR *__xdrs, u_int *__up) __THROW;
-extern bool_t xdr_long (XDR *__xdrs, long *__lp) __THROW;
-extern bool_t xdr_u_long (XDR *__xdrs, u_long *__ulp) __THROW;
-extern bool_t xdr_hyper (XDR *__xdrs, __quad_t *__llp) __THROW;
-extern bool_t xdr_u_hyper (XDR *__xdrs, __u_quad_t *__ullp) __THROW;
-extern bool_t xdr_longlong_t (XDR *__xdrs, __quad_t *__llp) __THROW;
-extern bool_t xdr_u_longlong_t (XDR *__xdrs, __u_quad_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, caddr_t *__addrp, u_int *__sizep,
- u_int __maxsize, u_int __elsize, xdrproc_t __elproc)
- __THROW;
-extern bool_t xdr_bytes (XDR *__xdrs, char **__cpp, u_int *__sizep,
- u_int __maxsize) __THROW;
-extern bool_t xdr_opaque (XDR *__xdrs, caddr_t __cp, u_int __cnt) __THROW;
-extern bool_t xdr_string (XDR *__xdrs, char **__cpp, u_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, u_char *__cp) __THROW;
-extern bool_t xdr_vector (XDR *__xdrs, char *__basep, u_int __nelem,
- u_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, caddr_t *__xpp, u_int __size,
- xdrproc_t __proc) __THROW;
-extern bool_t xdr_pointer (XDR *__xdrs, char **__objpp,
- u_int __obj_size, xdrproc_t __xdr_obj) __THROW;
-extern bool_t xdr_wrapstring (XDR *__xdrs, char **__cpp) __THROW;
-extern u_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
-{
- u_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 caddr_t __addr,
- u_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, u_int __sendsize,
- u_int __recvsize, caddr_t __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 5e4430d29..000000000
--- a/mdk-stage1/dietlibc/include/sched.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef _SCHED_H
-#define _SCHED_H 1
-
-#include <time.h>
-
-#include <sys/types.h>
-#ifndef u16
-#define u16 __u16
-#endif
-
-/* till those F**KIN' kernel headers are sane: A COPY !
- * #include <linux/sched.h>
- * A COPY OF THE STUFF WE NEED.... *GRUMBLE* */
-
-/*
- * 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_THREA)
-
-/*
- * 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 66fc288f4..000000000
--- a/mdk-stage1/dietlibc/include/setjmp.h
+++ /dev/null
@@ -1,123 +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 __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__
-#define JB_SP 0
-#define JB_FP 1
-#define JB_PC 2
-#ifndef __ASSEMBLER__
-typedef int __jmp_buf[3];
-#endif
-#endif
-
-#ifdef __arm__
-#define __JMP_BUF_SP 8
-#ifndef __ASSEMBLER__
-typedef int __jmp_buf[10];
-#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
-
-#ifndef __ASSEMBLER__
-
-typedef int sig_atomic_t;
-#define __sig_atomic_t sig_atomic_t
-
-# define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
-typedef struct
- {
- unsigned long int __val[_SIGSET_NWORDS];
- } __sigset_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__));
-
-#define setjmp(env) __sigsetjmp(env,0)
-#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 4d6341af1..000000000
--- a/mdk-stage1/dietlibc/include/shadow.h
+++ /dev/null
@@ -1,24 +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;
-
-#endif /* _SHADOW_H */
diff --git a/mdk-stage1/dietlibc/include/signal.h b/mdk-stage1/dietlibc/include/signal.h
deleted file mode 100644
index 9ed93fe83..000000000
--- a/mdk-stage1/dietlibc/include/signal.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _SIGNAL_H
-#define _SIGNAL_H
-
-#include <sys/cdefs.h>
-
-#define __WANT_POSIX1B_SIGNALS__
-
-#include <linux/types.h>
-#include <linux/signal.h>
-
-typedef void (*sighandler_t)(int);
-
-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 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 sigaction(int signum, const struct sigaction *act, struct sigaction *oldact) __THROW;
-int sigaltstack(const struct sigaltstack *newstack, struct sigaltstack *oldstack) __THROW;
-
-#ifndef SIGCLD
-#define SIGCLD SIGCHLD
-#endif
-
-extern const char *const sys_siglist[];
-
-typedef __sighandler_t sig_t;
-
-#ifndef NSIG
-#define NSIG _NSIG
-#endif
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdint.h b/mdk-stage1/dietlibc/include/stdint.h
deleted file mode 100644
index d287e6794..000000000
--- a/mdk-stage1/dietlibc/include/stdint.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _STDINT_H
-#define _STDINT_H
-
-#include <sys/types.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdio.h b/mdk-stage1/dietlibc/include/stdio.h
deleted file mode 100644
index 92d9dc0cb..000000000
--- a/mdk-stage1/dietlibc/include/stdio.h
+++ /dev/null
@@ -1,97 +0,0 @@
-#ifndef _STDIO_H
-#define _STDIO_H
-
-#include <sys/cdefs.h>
-#include <sys/types.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;
-int fprintf(FILE *stream, const char *format, ...) __THROW;
-int sprintf(char *str, const char *format, ...) __THROW;
-int snprintf(char *str, size_t size, const char *format, ...) __THROW;
-int asprintf(char **ptr, const char* format, ...) __THROW;
-
-int scanf( const char *format, ...) __THROW;
-int fscanf( FILE *stream, const char *format, ...) __THROW;
-int sscanf( const char *str, const char *format, ...) __THROW;
-
-#include <stdarg.h>
-
-int vprintf(const char *format, va_list ap) __THROW;
-int vfprintf(FILE *stream, const char *format, va_list ap) __THROW;
-int vsprintf(char *str, const char *format, va_list ap) __THROW;
-int vsnprintf(char *str, size_t size, const char *format, va_list ap) __THROW;
-
-int vscanf( const char *format, va_list ap) __THROW;
-int vsscanf( const char *str, const char *format, va_list ap) __THROW;
-int vfscanf( FILE *stream, const char *format, va_list ap) __THROW;
-
-int fgetc(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 fputs(const char *s, FILE *stream) __THROW;
-
-#define putc(c,stream) fputc(c,stream)
-#define putchar(c) fputc(c,stdout)
-
-#define getchar() fgetc(stdin)
-#define getc(stream) fgetc(stream)
-
-int puts(const char *s) __THROW;
-
-long fseek( FILE *stream, long offset, int whence) __THROW;
-long ftell( FILE *stream) __THROW;
-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;
-
-void clearerr(FILE *stream) __THROW;
-int feof (FILE *stream) __THROW;
-int ferror( FILE *stream) __THROW;
-int fileno( FILE *stream) __THROW;
-
-int remove(const char *pathname) __THROW;
-
-void perror(const char *s) __THROW;
-
-extern FILE *stdin, *stdout, *stderr;
-
-#define EOF (int)(-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;
-
-#define getc_unlocked(stream) getc(stream)
-#define putc_unlocked(c,stream) putc(c,stream)
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/stdlib.h b/mdk-stage1/dietlibc/include/stdlib.h
deleted file mode 100644
index 6a13a48ff..000000000
--- a/mdk-stage1/dietlibc/include/stdlib.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _STDLIB_H
-#define _STDLIB_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#define __LIBC_DIETLIBC__
-
-void *calloc(size_t nmemb, size_t size) __THROW;
-void *malloc(size_t size) __THROW;
-void free(void *ptr) __THROW;
-void *realloc(void *ptr, size_t size) __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 atexit(void (*function)(void)) __THROW;
-
-double strtod(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;
-
-int __ltostr(char *s, int size, unsigned long i, int base, char UpCase) __THROW;
-#ifdef __GNUC__
-long long int strtoll(const char *nptr, char **endptr, int base) __THROW;
-unsigned long long int strtoull(const char *nptr, char **endptr, int base) __THROW;
-int __lltostr(char *s, int size, unsigned long long i, int base, char 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;
-
-/* warning: the rand() implementation of the diet libc really sucks. */
-#define RAND_MAX 32767
-
-extern int rand(void) __THROW;
-extern void srand(unsigned int seed) __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;
-
-#define EXIT_SUCCESS 0
-#define EXIT_FAILURE 1
-
-/* 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));
-
-void *alloca(size_t size) __THROW; /* gcc built-in */
-
-char *realpath(const char *path, char *resolved_path) __THROW;
-
-int abs(int j) __THROW;
-
-long int random(void) __THROW;
-void srandom(unsigned int seed) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/string.h b/mdk-stage1/dietlibc/include/string.h
deleted file mode 100644
index 1ef78ae54..000000000
--- a/mdk-stage1/dietlibc/include/string.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef _STRING_H
-#define _STRING_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-char *strcpy(char *dest, const char *src) __THROW;
-char *strncpy(char *dest, const char *src, size_t n) __THROW;
-
-void *memccpy(void *dest, const void *src, int c, size_t n) __THROW;
-void *memcpy(void *dest, const void *src, 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__;
-int memcmp(const void *s1, const void *s2, size_t n) __THROW __pure__;
-int strcmp(const char *s1, const char *s2) __THROW __pure__;
-int strncmp(const char *s1, const char *s2, size_t n) __THROW __pure__;
-
-int strcasecmp(const char *s1, const char *s2) __THROW __pure__;
-int strncasecmp(const char *s1, const char *s2, size_t n) __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) __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;
-char *strncat(char *dest, const char *src, size_t n) __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* memset(void *s, int c, size_t n) __THROW;
-
-#undef NULL
-#define NULL (void*)0
-
-#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)
-
-char *strerror(int errnum) __THROW;
-char *strsignal(int signum) __THROW;
-
-char *strtok(char *s, const char *delim) __THROW;
-char *strtok_r(char *s, const char *delim, char **ptrptr) __THROW;
-
-int ffs(int i) __THROW __attribute__((__const__));
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/strings.h b/mdk-stage1/dietlibc/include/strings.h
deleted file mode 100644
index ec947a9b9..000000000
--- a/mdk-stage1/dietlibc/include/strings.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#warning "your code included obsolescent <strings.h>. Please change that to <string.h>!"
-#include <string.h>
diff --git a/mdk-stage1/dietlibc/include/sys/cdefs.h b/mdk-stage1/dietlibc/include/sys/cdefs.h
deleted file mode 100644
index 895bb74b8..000000000
--- a/mdk-stage1/dietlibc/include/sys/cdefs.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _SYS_CDEFS_H
-#define _SYS_CDEFS_H
-
-#define __dietlibc__
-
-#ifndef __cplusplus
-#define throw ()
-#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)
-#endif
-
-#define __pure__
-#ifdef __GNUC__
-#if (__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 96))
-#undef __pure__
-#define __pure__ __attribute__ ((__pure__))
-#endif
-
-#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 95)
-#define __restrict__
-#endif
-
-#endif
-
-#define __P(x) x
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/file.h b/mdk-stage1/dietlibc/include/sys/file.h
deleted file mode 100644
index 93787fd42..000000000
--- a/mdk-stage1/dietlibc/include/sys/file.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _SYS_FILE_H
-#define _SYS_FILE_H
-
-#include <sys/cdefs.h>
-
-extern int fcntl(int fd, int cmd, ...) __THROW;
-extern int flock(int fd, int operation) __THROW;
-
-/* Operations for the `flock' call. */
-#define LOCK_SH 1 /* Shared lock. */
-#define LOCK_EX 2 /* Exclusive lock. */
-#define LOCK_UN 8 /* Unlock. */
-
-/* Can be OR'd in to one of the above. */
-#define LOCK_NB 4 /* Don't block when locking. */
-
-
-
-#endif /* _SYS_FILE_H */
diff --git a/mdk-stage1/dietlibc/include/sys/io.h b/mdk-stage1/dietlibc/include/sys/io.h
deleted file mode 100644
index cce841735..000000000
--- a/mdk-stage1/dietlibc/include/sys/io.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef _IO_H
-#define _IO_H
-
-int ioperm(unsigned long from, unsigned long num, int turn_on) __THROW;
-
-#ifdef __i386__
-
-static __inline void
-outb (unsigned char value, unsigned short int port)
-{
- __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port));
-}
-
-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 int
-inw (unsigned short int port)
-{
- unsigned short _v;
-
- __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port));
- return _v;
-}
-
-static __inline void
-outw (unsigned short int value, unsigned short int port)
-{
- __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port));
-
-}
-
-#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 fca1aeeab..000000000
--- a/mdk-stage1/dietlibc/include/sys/ioctl.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _IOCTL_H
-#define _IOCTL_H
-
-#include <sys/cdefs.h>
-#include <linux/ioctl.h>
-#include <asm/ioctls.h>
-
-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 9184a2a82..000000000
--- a/mdk-stage1/dietlibc/include/sys/ipc.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_IPC_H
-#define _SYS_IPC_H
-
-#include <sys/cdefs.h>
-#include <linux/ipc.h>
-#include <asm/page.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/kd.h b/mdk-stage1/dietlibc/include/sys/kd.h
deleted file mode 100644
index 9e9a5152b..000000000
--- a/mdk-stage1/dietlibc/include/sys/kd.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SYS_KD_H
-#define _SYS_KD_H
-
-#include <linux/kd.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/mman.h b/mdk-stage1/dietlibc/include/sys/mman.h
deleted file mode 100644
index dc398ba90..000000000
--- a/mdk-stage1/dietlibc/include/sys/mman.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _SYS_MMAN_H
-#define _SYS_MMAN_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <linux/mman.h>
-#include <asm/page.h>
-
-#ifndef PAGE_SIZE
-#warning PAGE_SIZE undefined
-#endif
-
-#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,
- int __may_move) __THROW;
-extern int mincore (void *__start, size_t __len, unsigned char *__vec);
-
-#ifdef __quad_t
-extern void *mmap64 (void *__addr, size_t __len, int __prot,
- int __flags, int __fd, off64_t __offset) __THROW;
-#endif
-
-int mlockall(int flags) __THROW;
-int munlockall(void) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/mount.h b/mdk-stage1/dietlibc/include/sys/mount.h
deleted file mode 100644
index 2e9e86774..000000000
--- a/mdk-stage1/dietlibc/include/sys/mount.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _SYS_MOUNT_H
-#define _SYS_MOUNT_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <linux/fs.h>
-
-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 umount(const char *dir) __THROW;
-
-int umount2(const char *specialfile, int mflag) __THROW;
-
-int umount2(const char *dir, 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 ea1e470b6..000000000
--- a/mdk-stage1/dietlibc/include/sys/msg.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _SYS_MSG_H
-#define _SYS_MSG_H
-
-#include <linux/msg.h>
-#include <sys/ipc.h>
-#include <asm/page.h>
-
-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 e70663407..000000000
--- a/mdk-stage1/dietlibc/include/sys/mtio.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _SYS_MTIO_H
-#define _SYS_MTIO_H
-
-#include <linux/mtio.h>
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/param.h b/mdk-stage1/dietlibc/include/sys/param.h
deleted file mode 100644
index 05f4d40e2..000000000
--- a/mdk-stage1/dietlibc/include/sys/param.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_PARAM_H
-#define _SYS_PARAM_H
-
-#include <limits.h>
-
-#define MAXPATHLEN PATH_MAX
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/poll.h b/mdk-stage1/dietlibc/include/sys/poll.h
deleted file mode 100644
index adce26687..000000000
--- a/mdk-stage1/dietlibc/include/sys/poll.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _SYS_POLL_H
-#define _SYS_POLL_H
-
-#include <sys/cdefs.h>
-
-#include <linux/poll.h>
-
-extern int poll(struct pollfd *ufds, unsigned int nfds, int timeout) __THROW;
-
-
-#endif /* _SYS_POLL_H */
diff --git a/mdk-stage1/dietlibc/include/sys/ptrace.h b/mdk-stage1/dietlibc/include/sys/ptrace.h
deleted file mode 100644
index 9dd730bc6..000000000
--- a/mdk-stage1/dietlibc/include/sys/ptrace.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _SYS_PTRACE_H
-#define _SYS_PTRACE_H
-
-#include <sys/cdefs.h>
-
-#include <linux/ptrace.h>
-
-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 ba58d296a..000000000
--- a/mdk-stage1/dietlibc/include/sys/reboot.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _SYS_REBOOT_H
-#define _SYS_REBOOT_H
-
-#include <linux/reboot.h>
-
-/* Reboot or halt the system. */
-int reboot (int flag, void *arg);
-
-#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 442434cd1..000000000
--- a/mdk-stage1/dietlibc/include/sys/resource.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _SYS_RESOURCE_H
-#define _SYS_RESOURCE_H
-
-#include <sys/cdefs.h>
-#include <linux/resource.h>
-
-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/select.h b/mdk-stage1/dietlibc/include/sys/select.h
deleted file mode 100644
index e69de29bb..000000000
--- a/mdk-stage1/dietlibc/include/sys/select.h
+++ /dev/null
diff --git a/mdk-stage1/dietlibc/include/sys/sem.h b/mdk-stage1/dietlibc/include/sys/sem.h
deleted file mode 100644
index cc182649c..000000000
--- a/mdk-stage1/dietlibc/include/sys/sem.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _SYS_SEM_H
-#define _SYS_SEM_H
-
-#include <linux/sem.h>
-#include <sys/ipc.h>
-
-extern int semget( key_t key, int nsems, int semflg) __THROW;
-extern int semctl(int semid, int semnum, int cmd, union semun arg) __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 2e0c04add..000000000
--- a/mdk-stage1/dietlibc/include/sys/sendfile.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _SYS_SENDFILE_H
-#define _SYS_SENDFILE_H
-
-#include <sys/cdefs.h>
-
-extern ssize_t sendfile (int __out_fd, int __in_fd, off_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 c27f5ddcf..000000000
--- a/mdk-stage1/dietlibc/include/sys/shm.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _SYS_SHM_H
-#define _SYS_SHM_H
-
-#include <linux/shm.h>
-#include <sys/ipc.h>
-#include <asm/page.h>
-
-#ifndef PAGE_SIZE
-#define PAGE_SIZE getpagesize()
-#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 a1435501c..000000000
--- a/mdk-stage1/dietlibc/include/sys/socket.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _SYS_SOCKET_H
-#define _SYS_SOCKET_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <linux/socket.h>
-
-#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
-
-struct sockaddr_storage {
- char __tmp[sizeof(struct sockaddr)];
-};
-
-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, 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;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/stat.h b/mdk-stage1/dietlibc/include/sys/stat.h
deleted file mode 100644
index 10fddfa42..000000000
--- a/mdk-stage1/dietlibc/include/sys/stat.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _SYS_STAT_H
-#define _SYS_STAT_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-#include <linux/stat.h>
-#include <asm/stat.h>
-
-#ifndef STAT64_HAS_BROKEN_ST_INO
-#define __NO_STAT64
-#endif
-
-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;
-
-#ifdef __NO_STAT64
-#undef _FILE_OFFSET_BITS
-#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;
-#endif
-
-#if _FILE_OFFSET_BITS == 64
-#define lstat(file,buf) lstat64(file,buf)
-#define fstat(file,buf) fstat64(file,buf)
-#define stat stat64
-#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 5f059d469..000000000
--- a/mdk-stage1/dietlibc/include/sys/sysinfo.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _SYS_SYSINFO_H
-#define _SYS_SYSINFO_H
-
-#include <sys/cdefs.h>
-#include <linux/kernel.h>
-
-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 91bf0d1fa..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 {
- char *c_name;
- int c_val;
-} CODE;
-
-extern CODE prioritynames[];
-extern CODE facilitynames[];
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/time.h b/mdk-stage1/dietlibc/include/sys/time.h
deleted file mode 100644
index 11144f57b..000000000
--- a/mdk-stage1/dietlibc/include/sys/time.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _SYS_TIME_H
-#define _SYS_TIME_H 1
-
-#include <sys/cdefs.h>
-
-#include <sys/types.h>
-#include <linux/time.h>
-
-#if defined __USE_GNU || defined __USE_BSD
-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 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. */
-};
-
-struct tm* gmtime(const time_t *t) __THROW;
-struct tm* gmtime_r(const time_t *t, struct tm *r) __THROW;
-
-struct tm* localtime(const time_t *t) __THROW;
-struct tm* localtime_r(const time_t *t, struct tm *r) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/sys/times.h b/mdk-stage1/dietlibc/include/sys/times.h
deleted file mode 100644
index 72ec62fec..000000000
--- a/mdk-stage1/dietlibc/include/sys/times.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_TIMES_H
-#define _SYS_TIMES_H
-
-#include <linux/times.h>
-
-clock_t times(struct tms *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 34dbaa9f1..000000000
--- a/mdk-stage1/dietlibc/include/sys/types.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _SYS_TYPES_H
-#define _SYS_TYPES_H
-
-#include <linux/types.h>
-#include <linux/posix_types.h>
-#include <linux/socket.h>
-
-#ifdef __GNUC__
-#define __quad_t __quad_t
-typedef long long int __quad_t;
-typedef unsigned long long int __u_quad_t;
-#else
-#warning no long long support - no 64 bit file I/O support
-typedef long int __quad_t;
-typedef unsigned long int __u_quad_t;
-#endif
-
-
-#ifdef __quad_t
-typedef __quad_t off64_t;
-typedef __u_quad_t ino64_t;
-typedef __quad_t blkcnt64_t;
-#endif
-
-typedef long int fpos_t;
-
-#define socklen_t socklen_t
-typedef unsigned int socklen_t;
-
-typedef long int blksize_t;
-typedef long int blkcnt_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 d64fd33c9..000000000
--- a/mdk-stage1/dietlibc/include/sys/uio.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _SYS_UIO
-#define _SYS_UIO 1
-
-#include <linux/uio.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 213d9290e..000000000
--- a/mdk-stage1/dietlibc/include/sys/un.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _SYS_UN_H
-#define _SYS_UN_H
-
-#include <sys/cdefs.h>
-
-#include <linux/un.h>
-
-#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 e4740a225..000000000
--- a/mdk-stage1/dietlibc/include/sys/vfs.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _SYS_VFS_H
-#define _SYS_VFS_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <linux/vfs.h>
-
-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 eb70112e2..000000000
--- a/mdk-stage1/dietlibc/include/sys/wait.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef _SYS_WAIT_H
-#define _SYS_WAIT_H
-
-#include <sys/cdefs.h>
-#include <sys/resource.h>
-#include <linux/wait.h>
-
-/* 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)
-
-
-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/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/termios.h b/mdk-stage1/dietlibc/include/termios.h
deleted file mode 100644
index f10909c1b..000000000
--- a/mdk-stage1/dietlibc/include/termios.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef _TERMIOS_H
-#define _TERMIOS_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
-/* man, the Linux kernel headers suck */
-#define __USE_BSD
-#include <linux/termios.h>
-#undef __USE_BSD
-
-pid_t tcgetpgrp(int fd) __THROW;
-int tcsetpgrp(int fd, pid_t pgrpid) __THROW;
-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;
-int tcflush(int fd, int queue_selector) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/time.h b/mdk-stage1/dietlibc/include/time.h
deleted file mode 100644
index 827c85b97..000000000
--- a/mdk-stage1/dietlibc/include/time.h
+++ /dev/null
@@ -1,24 +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;
-unsigned int sleep(unsigned int secs) __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;
-time_t time(time_t *t) __THROW;
-
-int stime(time_t *t) __THROW;
-
-#endif
diff --git a/mdk-stage1/dietlibc/include/unistd.h b/mdk-stage1/dietlibc/include/unistd.h
deleted file mode 100644
index 1a528c0e4..000000000
--- a/mdk-stage1/dietlibc/include/unistd.h
+++ /dev/null
@@ -1,168 +0,0 @@
-#ifndef _UNISTD_H
-#define _UNISTD_H
-
-#include <sys/cdefs.h>
-#include <dirent.h>
-#include <sys/types.h>
-#include <sys/time.h>
-#include <getopt.h>
-#include <linux/sysctl.h>
-#include <sys/stat.h>
-
-/* 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;
-
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-
-#define STDIN_FILENO 0
-#define STDOUT_FILENO 1
-#define STDERR_FILENO 2
-
-off_t lseek(int fildes, off_t offset, int whence) __THROW;
-int llseek(int fildes, unsigned long hi, unsigned long lo, loff_t* result,int whence) __THROW;
-#ifndef __NO_STAT64
-loff_t lseek64(int fildes, loff_t offset, int whence) __THROW;
-#endif
-#if _FILE_OFFSET_BITS == 64
-#define lseek(fildes,offset,whence) lseek64(fildes,offset,whence)
-#endif
-
-int chdir(const char *path) __THROW;
-int fchdir(int fd) __THROW;
-int mkdir(const char *pathname, mode_t mode) __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;
-
-pid_t getpid(void) __attribute__((__const__)) __THROW;
-pid_t getppid(void) __THROW;
-int kill(pid_t pid, int sig) __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 setsid (void) __THROW;
-int dup (int oldfd) __THROW;
-int dup2 (int oldfd,int newfd) __THROW;
-
-int mknod(const char *pathname, mode_t mode, dev_t dev) __THROW;
-
-int getdents(unsigned int fd, struct dirent *dirp, unsigned int count) __THROW;
-int getdents64(unsigned 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;
-
-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;
-
-void usleep(unsigned long usec) __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;
-
-#if _FILE_OFFSET_BITS == 64
-#define open open64
-#define creat creat64
-#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 ftruncate(int fd, off_t length) __THROW;
-
-int mkstemp(char *Template) __THROW;
-
-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) __attribute__((__const__)) __THROW;
-
-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;
-
-/* warning: linux specific: */
-int _sysctl(struct __sysctl_args *args) __THROW;
-int sendfile(int out_fd, int in_fd, off_t *offset, size_t count) __THROW;
-
-int getdtablesize(void) __THROW;
-char *getpass(const char * prompt) __THROW;
-
-#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 2946be921..000000000
--- a/mdk-stage1/dietlibc/include/utmp.h
+++ /dev/null
@@ -1,73 +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"
-
-/* 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_host
- struct exit_status ut_exit; /* Exit status of a process marked
- as DEAD_PROCESS. */
- long int ut_session; /* Session ID, used for windowing. */
- struct timeval ut_tv; /* Time entry was made. */
- 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
-
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__dtostr.c b/mdk-stage1/dietlibc/lib/__dtostr.c
deleted file mode 100644
index e9a8a83d3..000000000
--- a/mdk-stage1/dietlibc/lib/__dtostr.c
+++ /dev/null
@@ -1,104 +0,0 @@
-#include <stdio.h>
-/* convert double to string. Helper for sprintf. */
-
-int __dtostr(double d,char *buf,int maxlen,int prec) {
- unsigned long long *x=(unsigned long long *)&d;
- /* step 1: extract sign, mantissa and exponent */
- signed int s=*x>>63;
- signed long e=((*x>>52)&((1<<11)-1))-1023;
-/* unsigned long long m=*x & ((1ull<<52)-1); */
- /* step 2: exponent is base 2, compute exponent for base 10 */
- signed long e10=1+(long)(e*0.30102999566398119802); /* log10(2) */
- /* step 3: calculate 10^e10 */
- int i;
- double tmp=10.0;
- char *oldbuf=buf;
- int initial=1;
-
- if (d==0.0) {
- *buf='0'; ++buf;
- goto done;
- }
- if (s) { d=-d; *buf='-'; --maxlen; buf++; }
-/* printf("e=%d e10=%d prec=%d\n",e,e10,prec); */
- if (e10>=0) {
- i=e10;
- while (i>10) { tmp=tmp*1e10; i-=10; }
- while (i>1) { tmp=tmp*10; --i; }
- } else {
- i=(e10=-e10);
- while (i>10) { tmp=tmp*1e-10; i-=10; }
- while (i>1) { tmp=tmp/10; --i; }
- }
- while (d/tmp<1) {
- --e10;
- tmp/=10.0;
- }
- /* step 4: see if precision is sufficient to display all digits */
- if (e10>prec) {
- /* use scientific notation */
- int len=__dtostr(d/tmp,buf,maxlen,prec);
- if (len==0) return 0;
- maxlen-=len; buf+=len;
- if (--maxlen>=0) {
- *buf='e';
- ++buf;
- }
- for (len=1000; len>0; len/=10) {
- if (e10>=len || !initial) {
- if (--maxlen>=0) {
- *buf=(e10/len)+'0';
- ++buf;
- }
- initial=0;
- e10=e10%len;
- }
- }
- if (maxlen>=0) return buf-oldbuf;
- return 0;
- }
- /* step 5: loop through the digits, inserting the decimal point when
- * appropriate */
- if (d<1.0) {
- double x=1.0;
- int first=1;
- do {
- if (--maxlen<0) return buf-oldbuf;
- *buf='0'; ++buf;
- if (first) {
- first=0;
- *buf='.'; ++buf;
- if (--maxlen<0) return buf-oldbuf;
- }
- x/=10.0;
- } while (x>d);
- }
- for (; prec>0; ) {
- double tmp2=d/tmp;
- char c;
- d-=((int)tmp2*tmp);
- c=((int)tmp2);
- if ((!initial)||c) {
- if (--maxlen>=0) {
- initial=0;
- *buf=c+'0';
- ++buf;
- } else
- return 0;
- --prec;
- }
- if (tmp>0.5 && tmp<1.5) {
- tmp=1e-1;
- initial=0;
- if (--maxlen>=0) {
- *buf='.';
- ++buf;
- } else
- return 0;
- } else
- tmp/=10.0;
- }
-done:
- *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 6f9fcb2c5..000000000
--- a/mdk-stage1/dietlibc/lib/__fstat64.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-#include <errno.h>
-
-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;
-#ifdef WANT_THREAD_SAFE
- if (*__errno_location()!=ENOSYS) return -1;
-#else
- if (errno!=ENOSYS) return -1;
-#endif
- if (fstat(__fd,&temp)) return -1;
- __stat64_cvt(&temp,__buf);
- }
- return 0;
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/__getcwd.c b/mdk-stage1/dietlibc/lib/__getcwd.c
deleted file mode 100644
index e97fc4520..000000000
--- a/mdk-stage1/dietlibc/lib/__getcwd.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#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/__isnan.c b/mdk-stage1/dietlibc/lib/__isnan.c
deleted file mode 100644
index 9d21e9824..000000000
--- a/mdk-stage1/dietlibc/lib/__isnan.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdio.h>
-
-int __isnan(double d) {
- unsigned long long *x=(unsigned long long *)&d;
- return (*x==0x7FF8002000000000ll || *x==0x7FF0002000000000);
-}
-
-#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 eb4a27cef..000000000
--- a/mdk-stage1/dietlibc/lib/__lltostr.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <string.h>
-
-int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase)
-{
- char *tmp;
- 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 a871f3917..000000000
--- a/mdk-stage1/dietlibc/lib/__lstat64.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-#include <errno.h>
-
-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;
-#ifdef WANT_THREAD_SAFE
- if (*__errno_location()!=ENOSYS) return -1;
-#else
- if (errno!=ENOSYS) return -1;
-#endif
- 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 57e0690d2..000000000
--- a/mdk-stage1/dietlibc/lib/__ltostr.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <string.h>
-
-int __ltostr(char *s, int size, unsigned long i, int base, char UpCase)
-{
- char *tmp;
- 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/__stat64.c b/mdk-stage1/dietlibc/lib/__stat64.c
deleted file mode 100644
index dfb0d4315..000000000
--- a/mdk-stage1/dietlibc/lib/__stat64.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-#include <errno.h>
-
-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;
-#ifdef WANT_THREAD_SAFE
- if (*__errno_location()!=ENOSYS) return -1;
-#else
- if (errno!=ENOSYS) return -1;
-#endif
- 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 dced352a4..000000000
--- a/mdk-stage1/dietlibc/lib/__stat64_cvt.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-
-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/__xmknod.c b/mdk-stage1/dietlibc/lib/__xmknod.c
deleted file mode 100644
index 4739a1f5f..000000000
--- a/mdk-stage1/dietlibc/lib/__xmknod.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <sys/stat.h>
-
-int __xmknod(int ver,char* filename,mode_t mode,dev_t *dev) {
- return mknod(filename,mode,*dev);
-}
-
diff --git a/mdk-stage1/dietlibc/lib/_brk.c b/mdk-stage1/dietlibc/lib/_brk.c
deleted file mode 100644
index 6d0b29c03..000000000
--- a/mdk-stage1/dietlibc/lib/_brk.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <unistd.h>
-
-extern int __diet_brk(void *end_data_segment);
-
-void* __curbrk=0;
-
-int __brk(void *end_data_segment) {
- int res;
- if ((res=__diet_brk(end_data_segment))==0)
- __curbrk=end_data_segment;
- return res;
-}
-
-int brk (void *end_data_segment) __attribute__((weak,alias("__brk")));
diff --git a/mdk-stage1/dietlibc/lib/abort.c b/mdk-stage1/dietlibc/lib/abort.c
deleted file mode 100644
index 55bfb8f0f..000000000
--- a/mdk-stage1/dietlibc/lib/abort.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/types.h>
-#include <linux/signal.h>
-#include <signal.h>
-#include <stdlib.h>
-
-void abort() {
- sigset_t t;
- 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 9d7055358..000000000
--- a/mdk-stage1/dietlibc/lib/abs.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdlib.h>
-
-int abs(int j)
-{
- return (j < 0) ? -j : j;
-}
diff --git a/mdk-stage1/dietlibc/lib/accept.c b/mdk-stage1/dietlibc/lib/accept.c
deleted file mode 100644
index c7e8254ca..000000000
--- a/mdk-stage1/dietlibc/lib/accept.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_accept(int a, void * addr, void * addr2) {
-#ifdef __i386__
- return socketcall(SYS_ACCEPT, (long*)&a);
-#else
- unsigned long args[] = { a, (long) addr, (long) addr2 };
- return socketcall(SYS_ACCEPT, args);
-#endif
-}
-
-int accept(int a, void * addr, void * addr2) __attribute__((weak,alias("__libc_accept")));
diff --git a/mdk-stage1/dietlibc/lib/alarm.c b/mdk-stage1/dietlibc/lib/alarm.c
deleted file mode 100644
index fd35372f2..000000000
--- a/mdk-stage1/dietlibc/lib/alarm.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 1991, 1992, 1994, 1997 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. */
-
-#include <unistd.h>
-#include <sys/time.h>
-
-/* Schedule an alarm. In SECONDS seconds, the process will get a SIGALRM.
- If SECONDS is zero, any currently scheduled alarm will be cancelled.
- The function returns the number of seconds remaining until the last
- alarm scheduled would have signaled, or zero if there wasn't one.
- There is no return value to indicate an error, but you can set `errno'
- to 0 and check its value after calling `alarm', and this might tell you.
- The signal may come late due to processor scheduling. */
-unsigned int
-alarm (seconds)
- unsigned int seconds;
-{
- struct itimerval old, new;
- unsigned int retval;
-
- new.it_interval.tv_usec = 0;
- new.it_interval.tv_sec = 0;
- new.it_value.tv_usec = 0;
- new.it_value.tv_sec = (long int) seconds;
- if (setitimer (ITIMER_REAL, &new, &old) < 0)
- return 0;
-
- retval = old.it_value.tv_sec;
- if (old.it_value.tv_usec)
- ++retval;
- return retval;
-}
diff --git a/mdk-stage1/dietlibc/lib/alloc.c b/mdk-stage1/dietlibc/lib/alloc.c
deleted file mode 100644
index 8cb87a69b..000000000
--- a/mdk-stage1/dietlibc/lib/alloc.c
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * malloc/free by O.Dreesen
- */
-
-#include <linux/unistd.h>
-#include <asm/mman.h>
-#include <linux/errno.h>
-#include "dietfeatures.h"
-
-#if 0
-#include <sys/mman.h>
-#define _LIBC
-#include <errno.h>
-#endif
-
-#include <linux/types.h>
-
-#if defined(MAP_ANONYMOUS) && !defined(MAP_ANON)
-#define MAP_ANON MAP_ANONYMOUS
-#endif
-
-#ifndef MAP_FAILED
-#define MAP_FAILED ((void*)-1)
-#endif
-
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
-
-extern void * mmap(void *start, size_t length, int prot , int flags, int fd, off_t offset);
-extern void *memset(void *s, int c, size_t n);
-extern void *memcpy(void *dest, const void *src, size_t n);
-
-typedef struct t_alloc_head {
- unsigned int magic1;
- struct t_alloc_head *ptr;
- unsigned long size;
- unsigned int magic2;
-} alloc_head;
-
-/* guess what ? the virtual block size */
-#define MEM_BLOCK_SIZE 4096
-
-/* minimum allocated bytes */
-#define MEM_ALLOC_MIN 4
-
-/* Initial start position in memory */
-#define MEM_ALLOC_START ((char*)0x18000000)
-
-/* Make every block align */
-#define MEM_ALIGN(s) (((s)+MEM_ALLOC_MIN-1)&(~(MEM_ALLOC_MIN-1)))
-#define PAGE_ALIGN(s) (((s)+MEM_BLOCK_SIZE-1)&(~(MEM_BLOCK_SIZE-1)))
-#define PAGE_ALIGNP(p) ((char*)PAGE_ALIGN((size_t)(p)))
-
-#define END_OF_BLOCK(p) ((alloc_head*)(((char*)(p))+((p)->size)))
-#define START_BLOCK(p) ((alloc_head*)(((char*)(p))-sizeof(alloc_head)))
-#define START_DATA(p) (((char*)(p))+sizeof(alloc_head))
-#define MIN_ALLOC(s) (((((s)+sizeof(alloc_head)-1)/MEM_ALLOC_MIN)+1)*MEM_ALLOC_MIN)
-
-#define ALLOC_MAGIC1 0xbad2f7ee
-#define ALLOC_MAGIC2 0xf7ee2bad
-
-/* freelist handler */
-static alloc_head base = {ALLOC_MAGIC1,&base,0,ALLOC_MAGIC2};
-static char *alloc_get_end = MEM_ALLOC_START;
-
-void __libc_free(void *ptr)
-{
- alloc_head *prev,*p,*block;
-
- if (ptr==NULL) return;
-
- block=START_BLOCK(ptr);
- if (block->magic1 != ALLOC_MAGIC1) return;
- if (block->magic2 != ALLOC_MAGIC2) return;
-
- prev=&base;
- for (p=prev->ptr ; ; prev=p, p=p->ptr)
- {
- if ((block>prev)&&(block<p)) break; /* found the gap block belongs */
- if ((prev>p)&&(block<p)) break; /* block pre freelist */
- if ((prev>p)&&(block>prev)) break; /* block after freelist */
-
- /* emergency escape: freelist has ONLY one entry the freelist base */
- if (p->ptr==p) break;
- }
- prev->ptr = block;
-
- if (END_OF_BLOCK(block)==p)
- { /* join right neighbor */
- block->ptr = p->ptr;
- block->size += p->size;
- }
- else
- block->ptr = p;
-
- if (END_OF_BLOCK(prev)==block)
- { /* join left neighbor */
- prev->size += block->size;
- prev->ptr = block->ptr;
- }
-}
-void free(void *ptr) __attribute__((weak,alias("__libc_free")));
-
-static void *alloc_get_mem(unsigned long size)
-{
- char *tmp;
- alloc_head *ah;
-
- size=PAGE_ALIGN(size);
-
- /* map free pages @ alloc_get_end */
- tmp=mmap(alloc_get_end, size, PROT_READ|PROT_WRITE,
- MAP_ANONYMOUS|MAP_PRIVATE|MAP_FIXED, -1, 0);
- if (tmp==MAP_FAILED)
- {
- /* OK we can't map free pages @ alloc_get_end so try free position */
- tmp=mmap(0, size, PROT_READ|PROT_WRITE,
- MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
- if (tmp==MAP_FAILED)
- {
- errno = ENOMEM;
- return NULL; /* PANIC ! */
- }
- alloc_get_end=tmp;
- }
-
- alloc_get_end+=size;
-
- /* make a header */
- ah=(alloc_head*)tmp;
- ah->magic1=ALLOC_MAGIC1;
- ah->magic2=ALLOC_MAGIC2;
- ah->ptr=ah;
- ah->size=size;
-
- /* link new free maped pages in freelist */
- __libc_free(START_DATA(tmp));
-
- return &base;
-}
-
-void *__libc_malloc(size_t size)
-{
- alloc_head *p, *prev;
- size_t need;
-
- /* needed MEM_ALLOC_MIN */
- need=MIN_ALLOC(size);
-
- prev=&base;
- for (p=prev->ptr;;prev=p,p=p->ptr)
- {
- if (p->size>=need)
- {
- if (p->size==need)
- { /* fit PERFECT */
- prev->ptr=p->ptr; /* relink freelist */
- }
- else
- {
- alloc_head *tmp=(alloc_head*)(((char*)p)+need);
- if ((p->size-need)<sizeof(alloc_head))
- { /* work around: if there is not enough space for freelist head.
- * this waste some bytes ( < sizeof(alloc_head) ) */
- need=p->size;
- prev->ptr=p->ptr; /* relink freelist */
- }
- else
- {
- prev->ptr=tmp;
- tmp->magic1=ALLOC_MAGIC1;
- tmp->magic2=ALLOC_MAGIC2;
- tmp->ptr=p->ptr;
- tmp->size=p->size-need; /* remaining size */
- }
-
- p->size=need; /* set size */
- }
- p->ptr=p; /* self-link */
-
- return (void*)START_DATA(p);
- }
- else if (p==&base)
- {
- if ((p=alloc_get_mem(need))==NULL) goto err_out;
- }
- }
-err_out:
- return NULL;
-}
-void *malloc(size_t size) __attribute__((weak,alias("__libc_malloc")));
-
-void *calloc(size_t nmemb,size_t size)
-{
- size_t n=nmemb*size;
- void *tmp=malloc(n);
- if (tmp) memset(tmp,0,n);
- return tmp;
-}
-
-void *realloc(void *ptr,size_t size)
-{
- alloc_head *tmp=0,*tf=0;
- long need=0;
- long diff=0;
-
- if (ptr)
- {
- if (size)
- {
- tmp=START_BLOCK(ptr);
- need=MIN_ALLOC(size); /* only this size will survive */
- diff=tmp->size-need;
- if (diff<0)
- {
- if ((tf=malloc(size)))
- {
- memcpy(tf,ptr,tmp->size-sizeof(alloc_head));
- free(ptr);
- return tf;
- }
- return NULL;
- }
- if (diff>=sizeof(alloc_head))
- {
- tmp->size=need;
- tf=END_OF_BLOCK(tmp);
- tf->magic1=ALLOC_MAGIC1;
- tf->magic2=ALLOC_MAGIC2;
- tf->ptr=tf;
- tf->size=diff;
- free(START_DATA(tf));
- }
- return ptr;
- }
- else
- free(ptr);
- }
- else if (size>0)
- return malloc(size);
- return NULL;
-}
diff --git a/mdk-stage1/dietlibc/lib/assert_fail.c b/mdk-stage1/dietlibc/lib/assert_fail.c
deleted file mode 100644
index 3d6ba65c1..000000000
--- a/mdk-stage1/dietlibc/lib/assert_fail.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include "dietwarning.h"
-
-extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase);
-
-void __assert_fail (const char *assertion, const char *file, unsigned int line, const char *function)
-{
- int alen=strlen(assertion);
- int flen=strlen(file);
- int fulen=strlen(function);
- 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");
- write(2,buf,strlen(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 8204af06c..000000000
--- a/mdk-stage1/dietlibc/lib/atexit.c
+++ /dev/null
@@ -1,23 +0,0 @@
-typedef void (*function)(void);
-
-static function __atexitlist[4];
-
-int atexit(function t) {
- int i;
- for (i=0; i<4; i++)
- if (__atexitlist[i]==0) {
- __atexitlist[i]=t;
- return 0;
- }
- return -1;
-}
-
-extern void _exit(int code) __attribute__((noreturn));
-
-void exit(int code) {
- if (__atexitlist[3]) __atexitlist[3]();
- if (__atexitlist[2]) __atexitlist[2]();
- if (__atexitlist[1]) __atexitlist[1]();
- if (__atexitlist[0]) __atexitlist[0]();
- _exit(code);
-}
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 fe952b8c4..000000000
--- a/mdk-stage1/dietlibc/lib/atoi.c
+++ /dev/null
@@ -1,8 +0,0 @@
-int atoi(const char* s) {
- int v=0;
- int sign=1;
- if (*s=='-') { sign=-1; ++s; } else if (*s=='+') ++s;
- while (*s && (*s>='0') && (*s<='9'))
- v=v*10+*s++-'0';
- return v*sign;
-}
diff --git a/mdk-stage1/dietlibc/lib/atol.c b/mdk-stage1/dietlibc/lib/atol.c
deleted file mode 100644
index 558a004b9..000000000
--- a/mdk-stage1/dietlibc/lib/atol.c
+++ /dev/null
@@ -1,8 +0,0 @@
-long int atol(const char* s) {
- long int v=0;
- int sign=1;
- if (*s=='-') { sign=-1; ++s; } else if (*s=='+') ++s;
- while (*s && (*s>='0') && (*s<='9'))
- v=v*10+*s++-'0';
- return v*sign;
-}
diff --git a/mdk-stage1/dietlibc/lib/bind.c b/mdk-stage1/dietlibc/lib/bind.c
deleted file mode 100644
index ec1c93e1b..000000000
--- a/mdk-stage1/dietlibc/lib/bind.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int bind(int a, void * b, int c) {
-#ifdef __i386__
- return socketcall(SYS_BIND, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_BIND, args);
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/bsearch.c b/mdk-stage1/dietlibc/lib/bsearch.c
deleted file mode 100644
index d2f5c74b2..000000000
--- a/mdk-stage1/dietlibc/lib/bsearch.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <stdlib.h>
-
-void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)) {
- const char *v, *r;
- int res;
- r=base+(nmemb-1)*size;
- do {
- register int num=nmemb/2;
- v=base+num*size;
- if ((res=compar(key,v))<0) {
- r=v-size;
- nmemb=num;
- } else {
- if (res==0) return (void*)v;
- base=v+size;
- nmemb-=num;
- }
- } while ((char*)base<=r);
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/cfmakeraw.c b/mdk-stage1/dietlibc/lib/cfmakeraw.c
deleted file mode 100644
index 7f6df9913..000000000
--- a/mdk-stage1/dietlibc/lib/cfmakeraw.c
+++ /dev/null
@@ -1,14 +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/closedir.c b/mdk-stage1/dietlibc/lib/closedir.c
deleted file mode 100644
index e73025eb1..000000000
--- a/mdk-stage1/dietlibc/lib/closedir.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-
-int closedir (DIR* d) {
- int res=close(d->fd);
- free(d);
- return res;
-}
diff --git a/mdk-stage1/dietlibc/lib/connect.c b/mdk-stage1/dietlibc/lib/connect.c
deleted file mode 100644
index 01fd61a6c..000000000
--- a/mdk-stage1/dietlibc/lib/connect.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_connect(int a, void * b, int c) {
-#ifdef __i386__
- return socketcall(SYS_CONNECT, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_CONNECT, args);
-#endif
-}
-
-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 82145b515..000000000
--- a/mdk-stage1/dietlibc/lib/creat.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <fcntl.h>
-
-int creat(const char *file,mode_t mode) {
- return open(file,O_WRONLY|O_CREAT|O_TRUNC,mode);
-}
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/errlist.c b/mdk-stage1/dietlibc/lib/errlist.c
deleted file mode 100644
index d0e712190..000000000
--- a/mdk-stage1/dietlibc/lib/errlist.c
+++ /dev/null
@@ -1,132 +0,0 @@
-
-const char *const sys_errlist[] = {
- "Success", /* 0 */
- "Operation not permitted", /* EPERM */
- "No such file or directory", /* ENOENT */
- "No such process", /* ESRCH */
- "Interrupted system call", /* EINTR */
- "I/O error", /* EIO */
- "No such device or address", /* ENXIO */
- "Arg list too long", /* E2BIG */
- "Exec format error", /* ENOEXEC */
- "Bad file number", /* EBADF */
- "No child processes", /* ECHILD */
- "Try again", /* EAGAIN */
- "Out of memory", /* ENOMEM */
- "Permission denied", /* EACCES */
- "Bad address", /* EFAULT */
- "Block device required", /* ENOTBLK */
- "Device or resource busy", /* EBUSY */
- "File exists", /* EEXIST */
- "Cross-device link", /* EXDEV */
- "No such device", /* ENODEV */
- "Not a directory", /* ENOTDIR */
- "Is a directory", /* EISDIR */
- "Invalid argument", /* EINVAL */
- "File table overflow", /* ENFILE */
- "Too many open files", /* EMFILE */
- "Not a typewriter", /* ENOTTY */
- "Text file busy", /* ETXTBSY */
- "File too large", /* EFBIG */
- "No space left on device", /* ENOSPC */
- "Illegal seek", /* ESPIPE */
- "Read-only file system", /* EROFS */
- "Too many links", /* EMLINK */
- "Broken pipe", /* EPIPE */
- "Math argument out of domain of func", /* EDOM */
- "Math result not representable", /* ERANGE */
- "Resource deadlock would occur", /* EDEADLK */
- "File name too long", /* ENAMETOOLONG */
- "No record locks available", /* ENOLCK */
- "Function not implemented", /* ENOSYS */
- "Directory not empty", /* ENOTEMPTY */
- "Too many symbolic links encountered", /* ELOOP */
- "Operation would block", /* EWOULDBLOCK */
- "No message of desired type", /* ENOMSG */
- "Identifier removed", /* EIDRM */
- "Channel number out of range", /* ECHRNG */
- "Level 2 not synchronized", /* EL2NSYNC */
- "Level 3 halted", /* EL3HLT */
- "Level 3 reset", /* EL3RST */
- "Link number out of range", /* ELNRNG */
- "Protocol driver not attached", /* EUNATCH */
- "No CSI structure available", /* ENOCSI */
- "Level 2 halted", /* EL2HLT */
- "Invalid exchange", /* EBADE */
- "Invalid request descriptor", /* EBADR */
- "Exchange full", /* EXFULL */
- "No anode", /* ENOANO */
- "Invalid request code", /* EBADRQC */
- "Invalid slot", /* EBADSLT */
- "File locking deadlock error", /* EDEADLOCK */
- "Bad font file format", /* EBFONT */
- "Device not a stream", /* ENOSTR */
- "No data available", /* ENODATA */
- "Timer expired", /* ETIME */
- "Out of streams resources", /* ENOSR */
- "Machine is not on the network", /* ENONET */
- "Package not installed", /* ENOPKG */
- "Object is remote", /* EREMOTE */
- "Link has been severed", /* ENOLINK */
- "Advertise error", /* EADV */
- "Srmount error", /* ESRMNT */
- "Communication error on send", /* ECOMM */
- "Protocol error", /* EPROTO */
- "Multihop attempted", /* EMULTIHOP */
- "RFS specific error", /* EDOTDOT */
- "Not a data message", /* EBADMSG */
- "Value too large for defined data type", /* EOVERFLOW */
- "Name not unique on network", /* ENOTUNIQ */
- "File descriptor in bad state", /* EBADFD */
- "Remote address changed", /* EREMCHG */
- "Can not access a needed shared library", /* ELIBACC */
- "Accessing a corrupted shared library", /* ELIBBAD */
- ".lib section in a.out corrupted", /* ELIBSCN */
- "Attempting to link in too many shared libraries", /* ELIBMAX */
- "Cannot exec a shared library directly", /* ELIBEXEC */
- "Illegal byte sequence", /* EILSEQ */
- "Interrupted system call should be restarted", /* ERESTART */
- "Streams pipe error", /* ESTRPIPE */
- "Too many users", /* EUSERS */
- "Socket operation on non-socket", /* ENOTSOCK */
- "Destination address required", /* EDESTADDRREQ */
- "Message too long", /* EMSGSIZE */
- "Protocol wrong type for socket", /* EPROTOTYPE */
- "Protocol not available", /* ENOPROTOOPT */
- "Protocol not supported", /* EPROTONOSUPPORT */
- "Socket type not supported", /* ESOCKTNOSUPPORT */
- "Operation not supported on transport endpoint", /* EOPNOTSUPP */
- "Protocol family not supported", /* EPFNOSUPPORT */
- "Address family not supported by protocol", /* EAFNOSUPPORT */
- "Address already in use", /* EADDRINUSE */
- "Cannot assign requested address", /* EADDRNOTAVAIL */
- "Network is down", /* ENETDOWN */
- "Network is unreachable", /* ENETUNREACH */
- "Network dropped connection because of reset", /* ENETRESET */
- "Software caused connection abort", /* ECONNABORTED */
- "Connection reset by peer", /* ECONNRESET */
- "No buffer space available", /* ENOBUFS */
- "Transport endpoint is already connected", /* EISCONN */
- "Transport endpoint is not connected", /* ENOTCONN */
- "Cannot send after transport endpoint shutdown", /* ESHUTDOWN */
- "Too many references: cannot splice", /* ETOOMANYREFS */
- "Connection timed out", /* ETIMEDOUT */
- "Connection refused", /* ECONNREFUSED */
- "Host is down", /* EHOSTDOWN */
- "No route to host", /* EHOSTUNREACH */
- "Operation already in progress", /* EALREADY */
- "Operation now in progress", /* EINPROGRESS */
- "Stale NFS file handle", /* ESTALE */
- "Structure needs cleaning", /* EUCLEAN */
- "Not a XENIX named type file", /* ENOTNAM */
- "No XENIX semaphores available", /* ENAVAIL */
- "Is a named type file", /* EISNAM */
- "Remote I/O error", /* EREMOTEIO */
- "Quota exceeded", /* EDQUOT */
- "No medium found", /* ENOMEDIUM */
- "Wrong medium type", /* EMEDIUMTYPE */
- 0
-};
-
-
-const int sys_nerr = ((sizeof (sys_errlist))/(sizeof(char *))-1);
diff --git a/mdk-stage1/dietlibc/lib/errno_location.c b/mdk-stage1/dietlibc/lib/errno_location.c
deleted file mode 100644
index 286f833c9..000000000
--- a/mdk-stage1/dietlibc/lib/errno_location.c
+++ /dev/null
@@ -1,5 +0,0 @@
-extern int errno;
-
-int *__errno_location() { return &errno; }
-
-int *errno_location() __attribute__((weak,alias("__errno_location")));
diff --git a/mdk-stage1/dietlibc/lib/exec_lib.c b/mdk-stage1/dietlibc/lib/exec_lib.c
deleted file mode 100644
index 3129224a0..000000000
--- a/mdk-stage1/dietlibc/lib/exec_lib.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <unistd.h>
-#include <paths.h>
-
-extern char **environ;
-
-int __exec_shell(const char *file, char *const argv[]) {
- int i;
-
- for (i = 0; argv[i]; i++);
-
- {
- char *shell_argv[i + 1];
- shell_argv[0] = _PATH_BSHELL;
- shell_argv[1] = (char *) file;
- for (; i > 1; i--)
- shell_argv[i] = argv[i - 1];
- return execve(_PATH_BSHELL, 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 71459e71f..000000000
--- a/mdk-stage1/dietlibc/lib/execl.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include <stdarg.h>
-#include <unistd.h>
-#include <errno.h>
-#include <stdlib.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);
- }
- __set_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 3aea1e960..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 "dietstdarg.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]=arg;
- for (i=0; i<n; ++i)
- argv[i+1]=va_arg(bak,char *);
- va_end (bak);
- return execvp(file,argv);
- }
- __set_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 efd760253..000000000
--- a/mdk-stage1/dietlibc/lib/execv.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <limits.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include "exec_lib.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 20521d69f..000000000
--- a/mdk-stage1/dietlibc/lib/execvp.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <limits.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <errno.h>
-#include "exec_lib.h"
-
-int execvp(const char *file, char *const argv[]) {
- 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=path; cur; cur=next) {
- next=strchr(cur,':');
- if (!next)
- next=cur+strlen(cur);
- if (next==cur) {
- buf[0]='.';
- cur--;
- } else
- memmove(buf,cur,next-cur);
- buf[next-cur]='/';
- 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 a3c04af9a..000000000
--- a/mdk-stage1/dietlibc/lib/ftw.c
+++ /dev/null
@@ -1,52 +0,0 @@
-#include <linux/stat.h>
-#include <unistd.h>
-#include <limits.h>
-#include <ftw.h>
-#include <dirent.h>
-#include <string.h>
-#include <stdlib.h>
-
-int ftw(const char *dir,int (*fn)(const char *file, const struct stat *sb, int flag), int depth) {
- char *cwd;
- int cwdlen;
- DIR *d;
- struct dirent *de;
- struct stat sb;
- if (chdir(dir)) return -1;
- cwd=alloca(PATH_MAX+1);
- if (!getcwd(cwd,PATH_MAX)) return -1;
- cwd[PATH_MAX]=0;
- cwdlen=strlen(cwd);
-/* write(1,"ftw in ",7); puts(cwd); */
- if (!(d=opendir("."))) return -1;
- while ((de=readdir(d))) {
- int res;
- int flag;
- int nlen;
- char *filename;
- if (de->d_name[0]=='.' &&
- (de->d_name[1]==0 ||
- (de->d_name[1]=='.' && de->d_name[2]==0))) continue;
- nlen=strlen(de->d_name);
- filename=alloca(nlen+cwdlen+3);
- memmove(filename,cwd,cwdlen);
- filename[cwdlen]='/';
- memmove(filename+cwdlen+1,de->d_name,nlen+1);
- if (!lstat(de->d_name,&sb)) {
- if (S_ISLNK(sb.st_mode)) flag=FTW_SL; else
- if (S_ISDIR(sb.st_mode)) flag=FTW_D; else
- flag=FTW_F;
- } else
- flag=FTW_NS;
- res=fn(filename,&sb,flag);
- if (res) return res;
- if (flag==FTW_D && depth>0) {
- res=ftw(filename,fn,depth-1);
- chdir(dir);
- if (res) return res;
- }
-/* puts(de->d_name); */
- }
- closedir(d);
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/getdomainname.c b/mdk-stage1/dietlibc/lib/getdomainname.c
deleted file mode 100644
index 2554fe4c3..000000000
--- a/mdk-stage1/dietlibc/lib/getdomainname.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#define _GNU_SOURCE
-
-#include <sys/types.h>
-#include <sys/utsname.h>
-
-int getdomainname(char *name,size_t len) {
- struct utsname u;
- int res=uname(&u);
- if (res==0) {
- int 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 fc37e9927..000000000
--- a/mdk-stage1/dietlibc/lib/getenv.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <string.h>
-
-extern char **environ;
-
-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 ccc0fbc8e..000000000
--- a/mdk-stage1/dietlibc/lib/gethostname.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#define _GNU_SOURCE
-
-#include <sys/types.h>
-#include <sys/utsname.h>
-
-int gethostname(char *name,size_t len) {
- struct utsname u;
- int res=uname(&u);
- if (res==0) {
- int 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 93097122f..000000000
--- a/mdk-stage1/dietlibc/lib/getopt.c
+++ /dev/null
@@ -1,118 +0,0 @@
-#include "getopt.h"
-#include <string.h>
-
-/*
- * by Olaf Dreesen
- */
-
-int opterr;
-
-int optind=1;
-char *optarg;
-
-static int opt_unknown=1,opt_unknown_len;
-
-static int getopt_check(int c,char*o,int ol)
-{
- int i;
- if (c==':') return 2;
- for (i=0;i<ol;i++)
- {
- if (o[i]==c)
- {
- if (o[i+1]==':') return 1;
- return 0;
- }
- }
- return 2;
-}
-
-static void getopt_sort(char*v[],int oi)
-{
- int i;
- char *tmp, *tmp2=0;
-
- if (opt_unknown_len)
- {
- tmp=v[optind-(1+oi)];
- if (oi) tmp2=v[optind-1];
-
- for (i=opt_unknown+opt_unknown_len;i>opt_unknown;i--) v[i+oi]=v[i-1];
-
- v[opt_unknown++]=tmp;
- if (oi) v[opt_unknown++]=tmp2;
- }
-}
-
-static char* nextchar;
-int getopt(int c,char*v[],char*o)
-{
- int ol=strlen(o);
- int ret=0;
- int oi=0;
-
- optarg=0;
-
- while (nextchar || (optind<c))
- {
- if (nextchar)
- {
- if ((ret=(*(++nextchar))))
- {
- switch (getopt_check(ret,o,ol))
- {
- case 1:
- if (*(++nextchar))
- optarg=nextchar;
- else
- {
- if (optind<c)
- {
- oi=1;
- optarg=v[optind++];
- }
- else
- ret='?';
- }
- nextchar=0;
- case 0:
- if (!nextchar)
- getopt_sort(v,oi);
- else
- if (!(*(nextchar+1)))
- getopt_sort(v,oi);
- return ret;
- break;
- default:
- return '?';
- break;
- }
- }
- else
- nextchar=0;
- }
- else
- {
- if ((v[optind][0]=='-')&&((v[optind][1]!=0)))
- {
- if ((v[optind][1]=='-')&&(v[optind][2]==0))
- {
- getopt_sort(v,oi);
- optind=opt_unknown;
- return -1;
- }
- else
- {
- nextchar=v[optind];
- }
- }
- else
- {
- ++opt_unknown_len;
- }
- ++optind;
- }
- }
- optind=opt_unknown;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/lib/getpeername.c b/mdk-stage1/dietlibc/lib/getpeername.c
deleted file mode 100644
index 8adcddf55..000000000
--- a/mdk-stage1/dietlibc/lib/getpeername.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int getpeername(int a, void * b, int c) {
-#ifdef __i386__
- return socketcall(SYS_GETPEERNAME, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_GETPEERNAME, args);
-#endif
-}
-
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/getservent.c b/mdk-stage1/dietlibc/lib/getservent.c
deleted file mode 100644
index bf25d046b..000000000
--- a/mdk-stage1/dietlibc/lib/getservent.c
+++ /dev/null
@@ -1,137 +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>
-
-static int servicesfd=-1;
-static char* servicesmap;
-static unsigned int serviceslen;
-
-static char* aliases[10];
-
-static char *cur;
-
-/* nameserver 42/tcp name # IEN 116 */
-struct servent *getservent(void) {
- static struct servent se;
- char *last;
- int aliasidx;
- if (servicesfd<0) {
- servicesfd=open(_PATH_SERVICES,O_RDONLY);
- if (servicesfd<0) return 0;
- serviceslen=lseek(servicesfd,0,SEEK_END);
- servicesmap=mmap(0,serviceslen,PROT_READ|PROT_WRITE,MAP_PRIVATE,servicesfd,0);
- if ((long)servicesmap==(-1)) goto error;
- cur=servicesmap;
- }
- last=servicesmap+serviceslen;
-again:
- se.s_name=0;
- se.s_aliases=aliases; aliases[0]=0;
- se.s_port=0;
- se.s_proto=0;
- if (cur>=last) return 0;
- if (*cur=='#' || *cur=='\n') goto parseerror;
- /* first, the primary name */
- if (!isalpha(*cur)) goto parseerror;
- se.s_name=cur;
- se.s_aliases=aliases;
- while (cur<last && isalnum(*cur)) cur++;
- if (cur>=last) return 0;
- if (*cur=='\n') goto parseerror;
- *cur=0; cur++;
- /* second, the port */
- while (cur<last && isblank(*cur)) cur++;
- while (cur<last && isdigit(*cur)) {
- se.s_port=se.s_port*10+*cur-'0';
- cur++;
- }
- se.s_port=htons(se.s_port);
- if (cur>=last) return 0;
- /* third, "/tcp" or "/udp" */
- if (*cur!='/') goto parseerror;
- cur++;
- se.s_proto=cur;
- while (cur<last && isalpha(*cur)) ++cur;
- if (cur>=last) return 0;
- if (*cur=='\n') { *cur++=0; return &se; }
- *cur=0; cur++;
- /* 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 &se;
-parseerror:
- while (cur<last && *cur!='\n') cur++;
- cur++;
- goto again;
-error:
- if (servicesmap!=(char*)-1) munmap(servicesmap,serviceslen);
- if (servicesfd!=-1) close(servicesfd);
- servicesmap=(char*)-1;
- servicesfd=-1;
- errno=ENOMEM;
- return 0;
-}
-
-void setservent(int stayopen) {
- cur=servicesmap;
-}
-
-struct servent *getservbyname(const char *name, const char *proto) {
- struct servent *s;
- setservent(0);
- for (s=getservent(); s; s=getservent()) {
- 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(name,"auth")) {
- tmp=s->s_aliases;
- write(1," aka ",5);
- while (*tmp) {
- write(1,*tmp,strlen(*tmp));
- write(1,", ",2);
- ++tmp;
- }
- write(1,"\n",1);
- }
-#endif
- if (!strcmp(name,s->s_name) && !strcmp(proto,s->s_proto))
- return s;
- tmp=s->s_aliases;
- while (*tmp)
- if (!strcmp(name,*tmp++)) return s;
- }
- return 0;
-}
-
-struct servent *getservbyport(int port, const char *proto) {
- struct servent *s;
- for (s=getservent(); s; s=getservent()) {
- if (port==s->s_port && !strcmp(proto,s->s_proto))
- return s;
- }
- return 0;
-}
-
-void endservent(void) {
- if (servicesmap!=(char*)-1) munmap(servicesmap,serviceslen);
- if (servicesfd!=-1) close(servicesfd);
- servicesmap=(char*)-1;
- servicesfd=-1;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/getsockname.c b/mdk-stage1/dietlibc/lib/getsockname.c
deleted file mode 100644
index 61a3ea24a..000000000
--- a/mdk-stage1/dietlibc/lib/getsockname.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int getsockname(int a, void * b, int c) {
-#ifdef __i386__
- return socketcall(SYS_GETSOCKNAME, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c };
- return socketcall(SYS_GETSOCKNAME, args);
-#endif
-}
-
diff --git a/mdk-stage1/dietlibc/lib/getsockopt.c b/mdk-stage1/dietlibc/lib/getsockopt.c
deleted file mode 100644
index 8c0a57557..000000000
--- a/mdk-stage1/dietlibc/lib/getsockopt.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int getsockopt(int a, int b, int c, void *d, int e) {
-#ifdef __i386__
- return socketcall(SYS_GETSOCKOPT, (long*)&a);
-#else
- unsigned long args[] = { a, b, c, (long)d, e };
- return socketcall(SYS_GETSOCKOPT, args);
-#endif
-}
-
diff --git a/mdk-stage1/dietlibc/lib/htonl.c b/mdk-stage1/dietlibc/lib/htonl.c
deleted file mode 100644
index 490de42c4..000000000
--- a/mdk-stage1/dietlibc/lib/htonl.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <endian.h>
-
-unsigned long int htonl(unsigned long int hostlong) {
-#if __BYTE_ORDER==__LITTLE_ENDIAN
- return (hostlong>>24) | ((hostlong&0xff0000)>>8) |
- ((hostlong&0xff00)<<8) | (hostlong<<24);
-#else
- return hostlong;
-#endif
-}
-
-unsigned long int ntohl(unsigned long int 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 765d3bbc5..000000000
--- a/mdk-stage1/dietlibc/lib/htons.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <endian.h>
-
-unsigned short int htons(unsigned short int hostshort) {
-#if __BYTE_ORDER==__LITTLE_ENDIAN
- return ((hostshort>>8)&0xff) | (hostshort<<8);
-#else
- return hostshort;
-#endif
-}
-
-unsigned short int ntohs(unsigned short int 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 e683755f6..000000000
--- a/mdk-stage1/dietlibc/lib/if_indextoname.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <linux/if.h>
-#include <linux/net.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_nametoindex.c b/mdk-stage1/dietlibc/lib/if_nametoindex.c
deleted file mode 100644
index 5923963b1..000000000
--- a/mdk-stage1/dietlibc/lib/if_nametoindex.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <linux/if.h>
-#include <linux/net.h>
-#include <sys/ioctl.h>
-#include <unistd.h>
-#include <sys/socket.h>
-
-#ifndef SOCK_DGRAM
-#define SOCK_DGRAM 2
-#endif
-
-int if_nametoindex(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/isalnum.c b/mdk-stage1/dietlibc/lib/isalnum.c
deleted file mode 100644
index 4d363fab9..000000000
--- a/mdk-stage1/dietlibc/lib/isalnum.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __isalnum_ascii(int c) {
- return isalpha(c) || isdigit(c);
-}
-
-int isalnum(int c) __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 07ea69696..000000000
--- a/mdk-stage1/dietlibc/lib/isalpha.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __isalpha_ascii(int c) {
- return (c>='a' && c<='z') || (c>='A' && c<='Z');
-}
-
-int isalpha(int c) __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 e06994783..000000000
--- a/mdk-stage1/dietlibc/lib/isascii.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int isascii(int c) {
- return (c & 0x80) == 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/isatty.c b/mdk-stage1/dietlibc/lib/isatty.c
deleted file mode 100644
index b31609720..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>
-
-extern int errno;
-
-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 034e543b1..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 a183a54f1..000000000
--- a/mdk-stage1/dietlibc/lib/iscntrl.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __iscntrl_ascii(int c) {
- return (c<32) || (c==127);
-}
-
-int iscntrl(int c) __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 8a7c3e801..000000000
--- a/mdk-stage1/dietlibc/lib/isdigit.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __isdigit_ascii(int c) {
- return (c>='0' && c<='9');
-}
-
-int isdigit(int c) __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 807f90ff0..000000000
--- a/mdk-stage1/dietlibc/lib/isgraph.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int __isgraph_ascii(int c) {
- return (c>=33 && c<=126);
-}
-
-int isgraph(int c) __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 6a9afa519..000000000
--- a/mdk-stage1/dietlibc/lib/islower.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __islower_ascii(int c) {
- return (c>='a' && c<='z');
-}
-
-int islower(int c) __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 e980658a5..000000000
--- a/mdk-stage1/dietlibc/lib/isprint.c
+++ /dev/null
@@ -1,6 +0,0 @@
-
-int __isprint_ascii(int c) {
- return (c>=32 && c<=126);
-}
-
-int isprint(int c) __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 2fd1183b1..000000000
--- a/mdk-stage1/dietlibc/lib/ispunct.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __ispunct_ascii(int c) {
- return isprint(c) && !( isalnum(c) || isspace(c) );
-}
-
-int ispunct(int c) __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 916f784ab..000000000
--- a/mdk-stage1/dietlibc/lib/isspace.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <ctype.h>
-
-int __isspace_ascii(int ch)
-{
- return ((ch==' ')||(ch=='\f')||(ch=='\t')||(ch=='\v')||(ch=='\r')||(ch=='\n'));
-}
-
-int isspace(int c) __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 933dfc169..000000000
--- a/mdk-stage1/dietlibc/lib/isupper.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <ctype.h>
-
-int __isupper_ascii(int c) {
- return (c>='A' && c<='Z');
-}
-
-int isupper(int c) __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 22a711f2d..000000000
--- a/mdk-stage1/dietlibc/lib/isxdigit.c
+++ /dev/null
@@ -1,5 +0,0 @@
-int __isxdigit_ascii(int c) {
- return ((c>='0'&&c<='9') || (c>='A'&&c<='F') || (c>='a'&&c<='f'));
-}
-
-int isxdigit(int c) __attribute__((weak,alias("__isxdigit_ascii")));
diff --git a/mdk-stage1/dietlibc/lib/listen.c b/mdk-stage1/dietlibc/lib/listen.c
deleted file mode 100644
index 56a51be06..000000000
--- a/mdk-stage1/dietlibc/lib/listen.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int listen(int a, int b) {
-#ifdef __i386__
- return socketcall(SYS_LISTEN, (long*)&a);
-#else
- unsigned long args[] = { a, b, 0 };
- return socketcall(SYS_LISTEN, args);
-#endif
-}
-
diff --git a/mdk-stage1/dietlibc/lib/lockf.c b/mdk-stage1/dietlibc/lib/lockf.c
deleted file mode 100644
index 2b1d004ef..000000000
--- a/mdk-stage1/dietlibc/lib/lockf.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <errno.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 d0a5719c1..000000000
--- a/mdk-stage1/dietlibc/lib/longjmp.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 1991, 92, 94, 95, 97, 98 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. */
-
-/* #include <stddef.h> */
-#include <setjmp.h>
-#include <signal.h>
-
-extern int __sigprocmask(int how,void* set,void* oldset);
-extern void __longjmp(void* env, int val);
-
-/*
-extern void _longjmp_unwind (jmp_buf env, int val);
-*/
-/* Set the signal mask to the one specified in ENV, and jump
- to the position specified in ENV, causing the setjmp
- call there to return VAL, or 1 if VAL is 0. */
-void __siglongjmp (sigjmp_buf env, int val)
-{
- /* Perform any cleanups needed by the frames being unwound. */
- /*
- _longjmp_unwind (env, val);
- */
-
- if (env[0].__mask_was_saved)
- /* Restore the saved signal mask. */
- (void) __sigprocmask (SIG_SETMASK, &env[0].__saved_mask,
- (sigset_t *) NULL);
-
- /* Call the machine-dependent function to restore machine state. */
- __longjmp (env[0].__jmpbuf, val ?: 1);
-}
-
-void siglongjmp (sigjmp_buf env, int val) __attribute__((weak,alias("__siglongjmp")));
-void longjmp (sigjmp_buf env, int val) __attribute__((weak,alias("__siglongjmp")));
-void _longjmp (sigjmp_buf env, int val) __attribute__((weak,alias("__siglongjmp")));
-void __libc_longjmp (sigjmp_buf env, int val) __attribute__((weak,alias("__siglongjmp")));
diff --git a/mdk-stage1/dietlibc/lib/lseek64.c b/mdk-stage1/dietlibc/lib/lseek64.c
deleted file mode 100644
index f39e779f9..000000000
--- a/mdk-stage1/dietlibc/lib/lseek64.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "dietfeatures.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-#include <sys/stat.h>
-#ifndef __NO_STAT64
-#include <errno.h>
-#include <unistd.h>
-
-loff_t lseek64(int fildes, loff_t offset, int whence) {
- loff_t tmp;
- if (llseek(fildes,offset>>32,offset&0xffffffff,&tmp,whence)) {
-#ifdef WANT_THREAD_SAFE
- if (*__errno_location()!=ENOSYS) return -1;
-#else
- if (errno!=ENOSYS) return -1;
-#endif
- return (loff_t)lseek(fildes,(off_t)offset,whence);
- }
- return tmp;
-}
-#endif
-#endif
diff --git a/mdk-stage1/dietlibc/lib/memccmp.c b/mdk-stage1/dietlibc/lib/memccmp.c
deleted file mode 100644
index 3a8c14f60..000000000
--- a/mdk-stage1/dietlibc/lib/memccmp.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-
-int memccmp(const void *dst, const void *src, int c, size_t count)
-{
- register const char *a = dst;
- register const char *b = src;
- while (count--)
- {
- register int res=(*a - *b);
- if (res) return res;
- if (*a==c) return 0;
- ++a; ++b;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/memccpy.c b/mdk-stage1/dietlibc/lib/memccpy.c
deleted file mode 100644
index 6d6ac98ab..000000000
--- a/mdk-stage1/dietlibc/lib/memccpy.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.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 93d81328a..000000000
--- a/mdk-stage1/dietlibc/lib/memchr.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-
-char *memchr(const char *s, int c, size_t n) {
- int i;
- for (i=n; i; --i)
- if (*s++==c)
- return (char*)s;
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/memcmp.c b/mdk-stage1/dietlibc/lib/memcmp.c
deleted file mode 100644
index c05a46863..000000000
--- a/mdk-stage1/dietlibc/lib/memcmp.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <sys/types.h>
-
-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 0c688b509..000000000
--- a/mdk-stage1/dietlibc/lib/memcpy.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <sys/types.h>
-
-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/memmove.c b/mdk-stage1/dietlibc/lib/memmove.c
deleted file mode 100644
index 7adb2be91..000000000
--- a/mdk-stage1/dietlibc/lib/memmove.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.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/memset.c b/mdk-stage1/dietlibc/lib/memset.c
deleted file mode 100644
index 5f9ae49ee..000000000
--- a/mdk-stage1/dietlibc/lib/memset.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <sys/types.h>
-
-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 596efbe27..000000000
--- a/mdk-stage1/dietlibc/lib/mkfifo.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <linux/stat.h>
-#include <unistd.h>
-
-int mkfifo(const char *fn,mode_t mode) {
- return mknod(fn,S_IFIFO|mode,0);
-}
diff --git a/mdk-stage1/dietlibc/lib/msgctl.c b/mdk-stage1/dietlibc/lib/msgctl.c
deleted file mode 100644
index 19ea6d8cf..000000000
--- a/mdk-stage1/dietlibc/lib/msgctl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-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 9bca09ebe..000000000
--- a/mdk-stage1/dietlibc/lib/msgget.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-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 b4ae9cc6c..000000000
--- a/mdk-stage1/dietlibc/lib/msgrcv.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-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 6203053f0..000000000
--- a/mdk-stage1/dietlibc/lib/msgsnd.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/msg.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-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/nop.c b/mdk-stage1/dietlibc/lib/nop.c
deleted file mode 100644
index c05bea813..000000000
--- a/mdk-stage1/dietlibc/lib/nop.c
+++ /dev/null
@@ -1,7 +0,0 @@
-
-int __fflush_stdin() __attribute__((weak,alias("__return0")));
-int __fflush_stdout() __attribute__((weak,alias("__return0")));
-int __fflush_stderr() __attribute__((weak,alias("__return0")));
-
-/* used for weak aliases */
-int __return0() { return 0; }
diff --git a/mdk-stage1/dietlibc/lib/open64.c b/mdk-stage1/dietlibc/lib/open64.c
deleted file mode 100644
index f1499d017..000000000
--- a/mdk-stage1/dietlibc/lib/open64.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <linux/types.h>
-#include <linux/fcntl.h>
-
-#ifndef O_LARGEFILE
-#define O_LARGEFILE 0
-#endif
-
-extern int open(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,int mode) __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 5c0c4a305..000000000
--- a/mdk-stage1/dietlibc/lib/opendir.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "dietdirent.h"
-#include <unistd.h>
-#include <dirent.h>
-#include <stdlib.h>
-#include <fcntl.h>
-
-DIR *opendir (const char *name) {
- DIR *t=(DIR*)malloc(sizeof(DIR));
- if (t) {
- if ((t->fd=open(name,O_RDONLY|O_DIRECTORY))>=0) {
- t->num=t->cur=0;
- } else {
- free(t);
- t=0;
- }
- }
- return t;
-}
diff --git a/mdk-stage1/dietlibc/lib/perror.c b/mdk-stage1/dietlibc/lib/perror.c
deleted file mode 100644
index ecab7250b..000000000
--- a/mdk-stage1/dietlibc/lib/perror.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-
-extern char *sys_errlist[];
-extern int sys_nerr;
-extern int errno;
-
-void perror(const char *s) {
- register char *message="[unknown error]";
- write(2,s,strlen(s));
- write(2,": ",2);
- if (errno>=0 && errno<sys_nerr)
-#ifdef WANT_THREAD_SAFE
- message=sys_errlist[*__errno_location()];
-#else
- message=sys_errlist[errno];
-#endif
- 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 b922aa93e..000000000
--- a/mdk-stage1/dietlibc/lib/pread.c
+++ /dev/null
@@ -1,10 +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) {
- 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 e6ba4d103..000000000
--- a/mdk-stage1/dietlibc/lib/pread64.c
+++ /dev/null
@@ -1,13 +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) {
- return __pread(fd,buf,count,__LONG_LONG_PAIR (offset&0xffffffff,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 274b16b0e..000000000
--- a/mdk-stage1/dietlibc/lib/putenv.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-
-int putenv(const char *string) {
- int len;
- int envc;
- char *tmp;
- const char **ep;
- char **newenv;
- static char **origenv=0;
- if (!origenv) origenv=environ;
- if (!(tmp=strchr(string,'=')))
- len=strlen(string);
- else
- len=tmp-string+1;
- for (envc=0, ep=(const char**)environ; *ep; ++ep) {
- if (!memcmp(string,*ep,len)) { /* found */
- if (!tmp) {
- for (; ep[1]; ++ep) ep[0]=ep[1];
- ep[0]=0;
- return 0;
- }
- *ep=string;
- return 0;
- }
- ++envc;
- }
- if (tmp) {
- newenv=(char**)malloc((envc+2)*sizeof(char*));
- if (!newenv) return -1;
- newenv[0]=(char*)string;
- memcpy(newenv+1,environ,(envc+1)*sizeof(char*));
- if (environ!=origenv) free(environ);
- environ=newenv;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/puts.c b/mdk-stage1/dietlibc/lib/puts.c
deleted file mode 100644
index 54415151d..000000000
--- a/mdk-stage1/dietlibc/lib/puts.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <unistd.h>
-#include <string.h>
-#include "dietstdio.h"
-#include "dietfeatures.h"
-
-int puts(const char *s) {
-#ifdef WANT_BUFFERED_STDIO
- return fwrite(s,1,strlen(s),stdout) && fputc('\n',stdout);
-#else
- return write(1,s,strlen(s)) && write(1,"\n",1);
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/qsort.c b/mdk-stage1/dietlibc/lib/qsort.c
deleted file mode 100644
index 2a8824bf3..000000000
--- a/mdk-stage1/dietlibc/lib/qsort.c
+++ /dev/null
@@ -1,125 +0,0 @@
-#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(base+a*size,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 *)) {
- int i;
- while (nmemb>1) {
- char *min=base;
- char *tmp=min+size;
- for (i=1; i<nmemb; ++i) {
- if (compar(tmp,min)<0)
- min=tmp;
- tmp+=size;
- }
- iswap(min,base,size);
- 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;
- int 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=base+(nmemb/2)*size;
- max=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 (compar(min,v)<0) { min+=size; ++lmemb; }
- while (compar(max-=size,v)>0) ;
- 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 606546034..000000000
--- a/mdk-stage1/dietlibc/lib/raise.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <linux/types.h>
-#include <unistd.h>
-#include <signal.h>
-#include "syscalls.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 10bfaf94d..000000000
--- a/mdk-stage1/dietlibc/lib/rand.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdlib.h>
-
-static unsigned int seed=1;
-
-int rand() {
- return ((seed = seed * 1103515245 + 12345) % ((unsigned int)RAND_MAX + 1));
-}
-
-void srand(unsigned int i) { seed=i; }
diff --git a/mdk-stage1/dietlibc/lib/random.c b/mdk-stage1/dietlibc/lib/random.c
deleted file mode 100644
index e7785c455..000000000
--- a/mdk-stage1/dietlibc/lib/random.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <stdlib.h>
-
-static unsigned int seed=1;
-
-long int random() {
- return ((seed = seed * 1103515245 + 12345) % ((unsigned int)RAND_MAX + 1));
-}
-
-void srandom(unsigned int i) { seed=i; }
diff --git a/mdk-stage1/dietlibc/lib/readdir.c b/mdk-stage1/dietlibc/lib/readdir.c
deleted file mode 100644
index 689f5d08b..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,1023);
- 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/reboot.c b/mdk-stage1/dietlibc/lib/reboot.c
deleted file mode 100644
index 7f47a95dd..000000000
--- a/mdk-stage1/dietlibc/lib/reboot.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/reboot.h>
-
-int __reboot(int magic1, int magic2, int cmd, void * arg);
-
-int reboot(int cmd, void *arg)
-{
- return __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2, cmd, arg);
-}
diff --git a/mdk-stage1/dietlibc/lib/recv.c b/mdk-stage1/dietlibc/lib/recv.c
deleted file mode 100644
index bc6b1e5d7..000000000
--- a/mdk-stage1/dietlibc/lib/recv.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_recv(int a, const void * b, size_t c, int flags) {
-#ifdef __i386__
- return socketcall(SYS_RECV,(long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c, flags };
- return socketcall(SYS_RECV, args);
-#endif
-}
-
-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 802ad665f..000000000
--- a/mdk-stage1/dietlibc/lib/recvfrom.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.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) {
-#ifdef __i386__
- return socketcall(SYS_RECVFROM, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c, flags, (long) to, (long) tolen };
- return socketcall(SYS_RECVFROM, args);
-#endif
-}
-
-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 c14c58c78..000000000
--- a/mdk-stage1/dietlibc/lib/recvmsg.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_recvmsg(int a, struct msghdr* msg, int flags) {
-#ifdef __i386__
- return socketcall(SYS_RECVMSG, (long*)&a);
-#else
- unsigned long args[] = { a, (long) msg, flags };
- return socketcall(SYS_RECVMSG, args);
-#endif
-}
-
-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 d5125bfed..000000000
--- a/mdk-stage1/dietlibc/lib/remove.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <unistd.h>
-#include <errno.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 945ad5a16..000000000
--- a/mdk-stage1/dietlibc/lib/sbrk.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <unistd.h>
-
-extern int __brk(void *end_data_segment);
-
-extern void* __curbrk;
-
-void* __sbrk(ptrdiff_t increment) {
- void* oldbrk;
- if (__curbrk==0)
- if (__brk(0) < 0)
- return (void*)-1;
- if (increment==0)
- return __curbrk;
- oldbrk=__curbrk;
- if (__brk(oldbrk+increment)<0)
- return (void*)-1;
- return oldbrk;
-}
-
-void* sbrk (ptrdiff_t increment) __attribute__((weak,alias("__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 ddc0aae95..000000000
--- a/mdk-stage1/dietlibc/lib/semctl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-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 056aeae04..000000000
--- a/mdk-stage1/dietlibc/lib/semget.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-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 abfde73a7..000000000
--- a/mdk-stage1/dietlibc/lib/semop.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/sem.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-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 c1adf1b5d..000000000
--- a/mdk-stage1/dietlibc/lib/send.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_send(int a, const void * b, size_t c, int flags) {
-#ifdef __i386__
- return socketcall(SYS_SEND, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c, flags };
- return socketcall(SYS_SEND, args);
-#endif
-}
-
-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 277265985..000000000
--- a/mdk-stage1/dietlibc/lib/sendmsg.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_sendmsg(int a, const struct msghdr* msg, int flags) {
-#ifdef __i386__
- return socketcall(SYS_SENDMSG, (long*)&a);
-#else
- unsigned long args[] = { a, (long) msg, flags };
- return socketcall(SYS_SENDMSG, args);
-#endif
-}
-
-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 078c010ea..000000000
--- a/mdk-stage1/dietlibc/lib/sendto.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <linux/net.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) {
-#ifdef __i386__
- return socketcall(SYS_SENDTO, (long*)&a);
-#else
- unsigned long args[] = { a, (long) b, c, flags, (long) to, tolen };
- return socketcall(SYS_SENDTO, args);
-#endif
-}
-
-int sendto(int a, const void * b, size_t c, int flags, void *to, int tolen)
- __attribute__ ((weak, alias("__libc_sendto")));
diff --git a/mdk-stage1/dietlibc/lib/set_errno.c b/mdk-stage1/dietlibc/lib/set_errno.c
deleted file mode 100644
index 6553bc496..000000000
--- a/mdk-stage1/dietlibc/lib/set_errno.c
+++ /dev/null
@@ -1,9 +0,0 @@
-extern int errno;
-
-void __set_errno(int error) __attribute__ ((weak));
-
-void __set_errno(int error)
-{
- errno=error;
-}
-
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 781e9c31c..000000000
--- a/mdk-stage1/dietlibc/lib/setsockopt.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int setsockopt(int a, int b, int c, void *d, void *e) {
-#ifdef __i386__
- return socketcall(SYS_SETSOCKOPT, (long*)&a);
-#else
- unsigned long args[] = { a, b, c, (long)d, (long) e };
- return socketcall(SYS_SETSOCKOPT, args);
-#endif
-}
-
diff --git a/mdk-stage1/dietlibc/lib/shmat.c b/mdk-stage1/dietlibc/lib/shmat.c
deleted file mode 100644
index 63284b1ea..000000000
--- a/mdk-stage1/dietlibc/lib/shmat.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <asm/ipc.h>
-
-extern void* __ipc();
-
-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)SHMLBA)
- 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 8f942f2a4..000000000
--- a/mdk-stage1/dietlibc/lib/shmctl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-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 36db10f08..000000000
--- a/mdk-stage1/dietlibc/lib/shmdt.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-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 9b03f5deb..000000000
--- a/mdk-stage1/dietlibc/lib/shmget.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/types.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-#include <asm/ipc.h>
-
-extern int __ipc();
-
-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 0a6be6c37..000000000
--- a/mdk-stage1/dietlibc/lib/shutdown.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int __libc_shutdown(int s, int how) {
-#ifdef __i386__
- return socketcall(SYS_SHUTDOWN, (long*)&s);
-#else
- unsigned long args[] = { s, (long) how, 0 };
- return socketcall(SYS_SHUTDOWN, args);
-#endif
-}
-
-int shutdown(int s, int how) __attribute__((weak,alias("__libc_shutdown")));
diff --git a/mdk-stage1/dietlibc/lib/sigaddset.c b/mdk-stage1/dietlibc/lib/sigaddset.c
deleted file mode 100644
index 8ce69ea77..000000000
--- a/mdk-stage1/dietlibc/lib/sigaddset.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#define __KERNEL__
-#define sigaddset foobar
-#include <asm/signal.h>
-#undef sigaddset
-
-int __sigaddset(sigset_t *set, int signo) {
- unsigned long sig = signo - 1;
- if (_NSIG_WORDS == 1)
- set->sig[0] |= 1UL << sig;
- else
- set->sig[sig / _NSIG_BPW] |= 1UL << (sig % _NSIG_BPW);
- return 0;
-}
-
-int sigaddset (sigset_t *env, int signo) __attribute__((weak,alias("__sigaddset")));
diff --git a/mdk-stage1/dietlibc/lib/sigdelset.c b/mdk-stage1/dietlibc/lib/sigdelset.c
deleted file mode 100644
index 2c3385ea8..000000000
--- a/mdk-stage1/dietlibc/lib/sigdelset.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#define __KERNEL__
-#define sigdelset foobar
-#include <asm/signal.h>
-#undef sigdelset
-
-int __sigdelset(sigset_t *set, int signo) {
- unsigned long sig = signo - 1;
- if (_NSIG_WORDS == 1)
- set->sig[0] &= ~(1UL << sig);
- else
- set->sig[sig / _NSIG_BPW] &= ~(1UL << (sig % _NSIG_BPW));
- return 0;
-}
-
-int sigdelset (sigset_t *env, int signo) __attribute__((weak,alias("__sigdelset")));
diff --git a/mdk-stage1/dietlibc/lib/sigemptyset.c b/mdk-stage1/dietlibc/lib/sigemptyset.c
deleted file mode 100644
index f4532f96e..000000000
--- a/mdk-stage1/dietlibc/lib/sigemptyset.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#define __USE_EXTERN_INLINES 1
-#include <signal.h>
-#include <errno.h>
-#include <string.h>
-
-int sigemptyset(sigset_t *set) {
- if (set==NULL) {
- __set_errno(EINVAL);
- return -1;
- }
- memset(set,0,sizeof(*set));
- return 0;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/sigfillset.c b/mdk-stage1/dietlibc/lib/sigfillset.c
deleted file mode 100644
index ddac6e391..000000000
--- a/mdk-stage1/dietlibc/lib/sigfillset.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#define __KERNEL__
-#include <asm/signal.h>
-
-int __sigfillset (sigset_t *set) {
- int i;
- for (i=0; i<_NSIG_WORDS; i++)
- set->sig[i]=~0;
- return 0;
-}
-
-int sigfillset(sigset_t *env) __attribute__((weak,alias("__sigfillset")));
diff --git a/mdk-stage1/dietlibc/lib/sigismember.c b/mdk-stage1/dietlibc/lib/sigismember.c
deleted file mode 100644
index 67a258884..000000000
--- a/mdk-stage1/dietlibc/lib/sigismember.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#define __USE_EXTERN_INLINES 1
-#include <signal.h>
-
-# define __sigmask(sig) \
- (((unsigned long int) 1) << (((sig) - 1) % (8 * sizeof (unsigned long int))))
-
-# define __sigword(sig) (((sig) - 1) / (8 * sizeof (unsigned long int)))
-
-# define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
-typedef struct
- {
- unsigned long int __val[_SIGSET_NWORDS];
- } __sigset_t;
-
-int __sigismember(const __sigset_t *set, int signo) {
- unsigned long int __mask = __sigmask (signo);
- unsigned long int __word = __sigword (signo);
- return (set->__val[__word] & __mask);
-}
-
-int sigismember(const sigset_t *env, int signo) __attribute__((weak,alias("__sigismember")));
diff --git a/mdk-stage1/dietlibc/lib/sigjmp.c b/mdk-stage1/dietlibc/lib/sigjmp.c
deleted file mode 100644
index be97c62cc..000000000
--- a/mdk-stage1/dietlibc/lib/sigjmp.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1992, 1994, 1997 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. */
-
-#include <setjmp.h>
-#include <signal.h>
-#include <string.h>
-
-/* This function is called by the `sigsetjmp' macro
- before doing a `__setjmp' on ENV[0].__jmpbuf.
- Always return zero. */
-
-int
-__sigjmp_save (sigjmp_buf env, int savemask)
-{
- env[0].__mask_was_saved = (savemask &&
- sigprocmask (SIG_BLOCK, (sigset_t *) NULL,
- (sigset_t*)&env[0].__saved_mask) == 0);
-
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/lib/sleep.c b/mdk-stage1/dietlibc/lib/sleep.c
deleted file mode 100644
index ec5b99533..000000000
--- a/mdk-stage1/dietlibc/lib/sleep.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <linux/time.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 096c06115..000000000
--- a/mdk-stage1/dietlibc/lib/snprintf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdarg.h>
-#include <sys/types.h>
-
-int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-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 1684a6a2b..000000000
--- a/mdk-stage1/dietlibc/lib/socket.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linux/net.h>
-
-extern int socketcall(int callno,long* args);
-
-int socket(int a, int b, int c) {
-#ifdef __i386__
- return socketcall(SYS_SOCKET, (long*)&a);
-#else
- unsigned long args[] = { a, b, c };
- return socketcall(SYS_SOCKET, args);
-#endif
-}
diff --git a/mdk-stage1/dietlibc/lib/speed.c b/mdk-stage1/dietlibc/lib/speed.c
deleted file mode 100644
index a7fcca7c9..000000000
--- a/mdk-stage1/dietlibc/lib/speed.c
+++ /dev/null
@@ -1,67 +0,0 @@
-#include <unistd.h>
-#include <termios.h>
-#include <sys/types.h>
-
-#include <asm/errno.h>
-
-extern int errno;
-
-/* Hack around a kernel bug; value must correspond to the one used in tcsetattr.c */
-#define IBAUD0 020000000000
-
-
-/* Return the output baud rate stored in *TERMIOS_P. */
-speed_t cfgetospeed (struct termios *termios_p)
-{
- return termios_p->c_cflag & (CBAUD | CBAUDEX);
-}
-
-
-/* Return the input baud rate stored in *TERMIOS_P.
- Although for Linux there is no difference between input and output
- speed, the numerical 0 is a special case for the input baud rate. It
- should set the input baud rate to the output baud rate. */
-speed_t cfgetispeed (struct termios *termios_p)
-{
- return ((termios_p->c_iflag & IBAUD0)
- ? 0 : termios_p->c_cflag & (CBAUD | CBAUDEX));
-}
-
-
-/* Set the output baud rate stored in *TERMIOS_P to SPEED. */
-int cfsetospeed (struct termios *termios_p, speed_t speed)
-{
- if ((speed & ~CBAUD) != 0 && (speed < B57600 || speed > B460800)) {
- errno = EINVAL;
- return -1;
- }
-
- termios_p->c_cflag &= ~(CBAUD | CBAUDEX);
- termios_p->c_cflag |= speed;
-
- return 0;
-}
-
-
-/* Set the input baud rate stored in *TERMIOS_P to SPEED.
- Although for Linux there is no difference between input and output
- speed, the numerical 0 is a special case for the input baud rate. It
- should set the input baud rate to the output baud rate. */
-int cfsetispeed (struct termios *termios_p, speed_t speed)
-{
- if ((speed & ~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/sprintf.c b/mdk-stage1/dietlibc/lib/sprintf.c
deleted file mode 100644
index b355d01f9..000000000
--- a/mdk-stage1/dietlibc/lib/sprintf.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <stdlib.h>
-#include "dietwarning.h"
-
-int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int sprintf(char *dest,const char *format,...)
-{
- int n;
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsnprintf(dest,1000000,format,arg_ptr);
- va_end (arg_ptr);
- return n;
-}
-
-link_warning("sprintf","warning: Avoid sprintf; use snprintf. It is more secure and faster.")
diff --git a/mdk-stage1/dietlibc/lib/sscanf.c b/mdk-stage1/dietlibc/lib/sscanf.c
deleted file mode 100644
index 341e74bba..000000000
--- a/mdk-stage1/dietlibc/lib/sscanf.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <stdarg.h>
-
-int vsscanf(const char *str, const char *format, va_list arg_ptr);
-
-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 d978488a4..000000000
--- a/mdk-stage1/dietlibc/lib/strcasecmp.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include <ctype.h>
-#include "dietfeatures.h"
-
-int strcasecmp(register const char *s,register const char *t) {
- register char x;
-
- for (;;) {
- x = tolower(*s); if (x != tolower(*t)) break; if (!x) break; ++s; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- x = tolower(*s); if (x != tolower(*t)) break; if (!x) break; ++s; ++t;
- x = tolower(*s); if (x != tolower(*t)) break; if (!x) break; ++s; ++t;
- x = tolower(*s); if (x != tolower(*t)) break; if (!x) break; ++s; ++t;
-#endif
- }
- return ((int)(unsigned int)(unsigned char) x)
- - ((int)(unsigned int)(unsigned char) *t);
-}
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 0c2050da6..000000000
--- a/mdk-stage1/dietlibc/lib/strchr.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "dietfeatures.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 0db324e66..000000000
--- a/mdk-stage1/dietlibc/lib/strcmp.c
+++ /dev/null
@@ -1,16 +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);
-}
diff --git a/mdk-stage1/dietlibc/lib/strcpy.c b/mdk-stage1/dietlibc/lib/strcpy.c
deleted file mode 100644
index 49693c30d..000000000
--- a/mdk-stage1/dietlibc/lib/strcpy.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "dietfeatures.h"
-
-char* strcpy(register char* s,register const char* t)
-{
- char *dest=s;
- for (;;) {
- if (!(*s = *t)) return dest; ++s; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- if (!(*s = *t)) return dest; ++s; ++t;
- if (!(*s = *t)) return dest; ++s; ++t;
- if (!(*s = *t)) return dest; ++s; ++t;
-#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 f15b86aae..000000000
--- a/mdk-stage1/dietlibc/lib/strerror.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <string.h>
-
-extern char *sys_errlist[];
-extern int sys_nerr;
-
-char *strerror(int errnum) {
- if (errnum>=0 && errnum<sys_nerr)
- return sys_errlist[errnum];
- return "[unknown error]";
-}
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 56c085dac..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 int 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 8a5445e53..000000000
--- a/mdk-stage1/dietlibc/lib/strncasecmp.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <ctype.h>
-#include <sys/types.h>
-#include <string.h>
-
-int strncasecmp(const char *s, const char *t, size_t n) {
- register char x;
- register const char* u=s+n;
- for (;;) {
- x = tolower(*s); if (x!=tolower(*t)) break; if (!x) break; if (++s>=u) return 0; ++t;
-#ifndef WANT_SMALL_STRING_ROUTINES
- x = tolower(*s); if (x!=tolower(*t)) break; if (!x) break; if (++s>=u) return 0; ++t;
- x = tolower(*s); if (x!=tolower(*t)) break; if (!x) break; if (++s>=u) return 0; ++t;
- x = tolower(*s); if (x!=tolower(*t)) break; if (!x) break; if (++s>=u) return 0; ++t;
-#endif
- }
- return ((int)(unsigned int)(unsigned char) x)
- - ((int)(unsigned int)(unsigned char) *t);
-}
diff --git a/mdk-stage1/dietlibc/lib/strncat.c b/mdk-stage1/dietlibc/lib/strncat.c
deleted file mode 100644
index a08e97916..000000000
--- a/mdk-stage1/dietlibc/lib/strncat.c
+++ /dev/null
@@ -1,31 +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
-
-char *strncat(char *s, const char *t, size_t n) {
- char *dest=s;
- register char *max;
- s+=strlen(s);
-#ifdef WANT_NON_COMPLIANT_STRNCAT
- max=s+n-1;
-#else
- max=s+n;
-#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;
- return dest;
-}
diff --git a/mdk-stage1/dietlibc/lib/strncmp.c b/mdk-stage1/dietlibc/lib/strncmp.c
deleted file mode 100644
index 7c08c0fa7..000000000
--- a/mdk-stage1/dietlibc/lib/strncmp.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-int strncmp(const char *s1, const char *s2, size_t n) {
- return memccmp(s1,s2,0,n);
-}
diff --git a/mdk-stage1/dietlibc/lib/strncpy.c b/mdk-stage1/dietlibc/lib/strncpy.c
deleted file mode 100644
index 531387b7f..000000000
--- a/mdk-stage1/dietlibc/lib/strncpy.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#define _POSIX_SOURCE
-#define _XOPEN_SOURCE
-#include <sys/types.h>
-#include <string.h>
-
-char *strncpy(char *dest, const char *src, size_t n)
-{
- 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 a1bf1872a..000000000
--- a/mdk-stage1/dietlibc/lib/strsep.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include <string.h>
-
-char *strsep(char **stringp, const char *delim) {
- register char *tmp=*stringp;
- register char *tmp2=tmp;
- register const char *tmp3;
- for (tmp2=tmp; *tmp2; ++tmp2) {
- for (tmp3=delim; *tmp3; ++tmp3)
- if (*tmp2==*tmp3) { /* delimiter found */
- *tmp2=0;
- *stringp=tmp2+1;
- return tmp;
- }
- }
- return 0;
-}
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 641d9d7ac..000000000
--- a/mdk-stage1/dietlibc/lib/strstr.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <sys/types.h>
-#include <string.h>
-
-char *strstr(const char *haystack, const char *needle) {
- int nl=strlen(needle);
- int hl=strlen(haystack);
- 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/strtod.c b/mdk-stage1/dietlibc/lib/strtod.c
deleted file mode 100644
index cbe983d84..000000000
--- a/mdk-stage1/dietlibc/lib/strtod.c
+++ /dev/null
@@ -1,52 +0,0 @@
-#include <string.h>
-
-extern char isspace(char c);
-
-#ifdef __GNUC__
-static inline char isdigit(char c) { return (c>='0' && c<='9'); }
-#endif
-
-double strtod(const char *nptr, char **endptr) {
- double d=0;
- register const char *c=nptr;
- char neg=0;
- while (*c && isspace(*c)) ++c;
- switch (*c) {
- case '-': neg=1;
- case '+': c++; break;
- default: break;
- }
- while (isdigit(*c)) {
- d=d*10+(*c-'0');
- ++c;
- }
- if (*c=='.') {
- double factor=.1;
- while (isdigit(*++c)) {
- d=d+(factor*(*c-'0'));
- factor/=10;
- }
- }
- if ((*c|32)=='e') {
- int exp=0;
- double factor=10;
- if (c[1]<'0') {
- switch (c[1]) {
- case '-': factor=0.1;
- case '+': c++; break;
- default:
- d=0;
- c=nptr;
- goto done;
- }
- }
- while (isdigit(*++c))
- exp=exp*10+(*c-'0');
- while (exp) { /* XXX: this introduces rounding errors */
- d*=factor; --exp;
- }
- }
-done:
- if (endptr) *endptr=(char*)c;
- return d;
-}
diff --git a/mdk-stage1/dietlibc/lib/strtok.c b/mdk-stage1/dietlibc/lib/strtok.c
deleted file mode 100644
index 86337da7b..000000000
--- a/mdk-stage1/dietlibc/lib/strtok.c
+++ /dev/null
@@ -1,8 +0,0 @@
-char *strtok_r(char *s, const char *delim, char **ptrptr);
-
-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 ead89f408..000000000
--- a/mdk-stage1/dietlibc/lib/strtol.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <ctype.h>
-
-extern unsigned long int strtoul(const char *nptr, char **endptr, int base);
-
-long int strtol(const char *nptr, char **endptr, int base)
-{
- int neg=0;
- unsigned long int v;
-
- while(isspace(*nptr)) nptr++;
-
- if (*nptr == '-' && isdigit(nptr[1])) { neg=-1; nptr++; }
- v=strtoul(nptr,endptr,base);
- return (neg?-v:v);
-}
diff --git a/mdk-stage1/dietlibc/lib/strtoll.c b/mdk-stage1/dietlibc/lib/strtoll.c
deleted file mode 100644
index 7b8e28a1d..000000000
--- a/mdk-stage1/dietlibc/lib/strtoll.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <ctype.h>
-
-extern unsigned long int strtoull(const char *nptr, char **endptr, int base);
-
-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 3f93962a9..000000000
--- a/mdk-stage1/dietlibc/lib/strtoul.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <ctype.h>
-
-/* static char *num="0123456789abcdefghijklmnopqrstuvwxyz"; */
-
-unsigned long int strtoul(const char *nptr, char **endptr, int base)
-{
- 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/strtoull.c b/mdk-stage1/dietlibc/lib/strtoull.c
deleted file mode 100644
index 40818958d..000000000
--- a/mdk-stage1/dietlibc/lib/strtoull.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <ctype.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/sys_siglist.c b/mdk-stage1/dietlibc/lib/sys_siglist.c
deleted file mode 100644
index 80d7b3fb0..000000000
--- a/mdk-stage1/dietlibc/lib/sys_siglist.c
+++ /dev/null
@@ -1,37 +0,0 @@
-const char *const sys_siglist[] =
- {
- "Signal 0",
- "Hangup",
- "Interrupt",
- "Quit",
- "Illegal instruction",
- "Trace/breakpoint trap",
- "IOT trap",
- "EMT trap",
- "Floating point exception",
- "Killed",
- "Bus error",
- "Segmentation fault",
- "Bad system call",
- "Broken pipe",
- "Alarm clock",
- "Terminated",
- "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",
- "Resource lost",
- "User defined signal 1",
- "User defined signal 2",
- 0
- };
-
diff --git a/mdk-stage1/dietlibc/lib/tcdrain.c b/mdk-stage1/dietlibc/lib/tcdrain.c
deleted file mode 100644
index 7a760f643..000000000
--- a/mdk-stage1/dietlibc/lib/tcdrain.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <sys/ioctl.h>
-
-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/tcflush.c b/mdk-stage1/dietlibc/lib/tcflush.c
deleted file mode 100644
index a19fe11d1..000000000
--- a/mdk-stage1/dietlibc/lib/tcflush.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <unistd.h>
-#include <termios.h>
-#include <sys/ioctl.h>
-
-#include <asm/errno.h>
-
-extern int errno;
-
-/* Flush pending data on FD. */
-int tcflush(int fd, int queue_selector)
-{
- switch (queue_selector) {
- case TCIFLUSH:
- return ioctl(fd, TCFLSH, 0);
- case TCOFLUSH:
- return ioctl(fd, TCFLSH, 1);
- case TCIOFLUSH:
- return ioctl(fd, TCFLSH, 2);
- default:
- errno = EINVAL;
- return -1;
- }
-}
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 f2a290651..000000000
--- a/mdk-stage1/dietlibc/lib/tcgetpgrp.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.h>
-
-int tcgetpgrp(int fildes)
-{
- return ioctl(fildes, TIOCGPGRP);
-}
diff --git a/mdk-stage1/dietlibc/lib/tcsetattr.c b/mdk-stage1/dietlibc/lib/tcsetattr.c
deleted file mode 100644
index cf70354d2..000000000
--- a/mdk-stage1/dietlibc/lib/tcsetattr.c
+++ /dev/null
@@ -1,27 +0,0 @@
-#define tcsetattr libc_tcsetattr
-#include <termios.h>
-#include <sys/ioctl.h>
-#undef tcsetattr
-
-#include <asm/errno.h>
-
-extern int errno;
-
-/* Hack around a kernel bug; value must correspond to the one used in speed.c */
-#define IBAUD0 020000000000
-
-int tcsetattr(int fildes, int optional_actions, struct termios *termios_p)
-{
- termios_p->c_iflag &= ~IBAUD0;
- 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;
- }
-}
diff --git a/mdk-stage1/dietlibc/lib/tcsetpgrp.c b/mdk-stage1/dietlibc/lib/tcsetpgrp.c
deleted file mode 100644
index 6c40b5c79..000000000
--- a/mdk-stage1/dietlibc/lib/tcsetpgrp.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <termios.h>
-#include <sys/ioctl.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 4b7c7cf2d..000000000
--- a/mdk-stage1/dietlibc/lib/tolower.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-inline int tolower(int c) {
- return (c>='A' && c<='Z')?c-'A'+'a':c;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/toupper.c b/mdk-stage1/dietlibc/lib/toupper.c
deleted file mode 100644
index c048e60bb..000000000
--- a/mdk-stage1/dietlibc/lib/toupper.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-inline int toupper(int c) {
- return (c>='a' && c<='z')?c-'a'+'A':c;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/ttyname.c b/mdk-stage1/dietlibc/lib/ttyname.c
deleted file mode 100644
index a6b479088..000000000
--- a/mdk-stage1/dietlibc/lib/ttyname.c
+++ /dev/null
@@ -1,59 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <sys/stat.h>
-
-#ifdef __linux__
-
-extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase);
-
-char *ttyname(int fd) {
-#ifdef SLASH_PROC_OK
- char ibuf[20];
- static char obuf[20];
- strcpy(ibuf,"/proc/self/fd/");
- ibuf[__ltostr(ibuf+14,6,fd,10,0)+14]=0;
- if (readlink(ibuf,obuf,sizeof(obuf)-1)<0) return 0;
- return obuf;
-#else
- static char buf[20]="/dev/tty";
- struct stat s;
- char *c=buf+8;
- int n;
- if (fstat(fd,&s)) return 0;
- if (S_ISCHR(s.st_mode)) {
- n=minor(s.st_rdev);
- switch (major(s.st_rdev)) {
- case 4:
- buf[5]='t'; buf[7]='y';
- if (n>63) {
- n-=64;
- *c='S';
- ++c;
- }
-num:
- c[__ltostr(c,6,n,10,0)]=0;
- break;
- case 2:
- buf[5]='p'; buf[7]='y';
- buf[8]='p'-(n>>4);
- buf[9]=n%4+'0';
- if (buf[9]>'9') *c+='a'-'0';
- buf[10]=0;
- case 136:
- case 137:
- case 138:
- case 139:
- buf[5]='p'; buf[7]='s';
- 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 494f99233..000000000
--- a/mdk-stage1/dietlibc/lib/usleep.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linux/time.h>
-#include <time.h>
-
-/* nano * 1000 == usecs
- * usecs * 1000 == msecs
- * msecs * 1000 = secs */
-void usleep(unsigned int usecs) {
- struct timespec t;
- t.tv_sec=usecs/1000000;
- t.tv_nsec=(usecs%1000000)*1000;
- nanosleep(&t,&t);
-}
diff --git a/mdk-stage1/dietlibc/lib/vfork.c b/mdk-stage1/dietlibc/lib/vfork.c
deleted file mode 100644
index 795cddb05..000000000
--- a/mdk-stage1/dietlibc/lib/vfork.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <linux/types.h>
-#include <unistd.h>
-
-pid_t vfork(void) {
- return fork();
-}
diff --git a/mdk-stage1/dietlibc/lib/vfprintf.c b/mdk-stage1/dietlibc/lib/vfprintf.c
deleted file mode 100644
index c33a2404b..000000000
--- a/mdk-stage1/dietlibc/lib/vfprintf.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "dietstdarg.h"
-
-int vfprintf(FILE *fstream, const char *format, va_list ap)
-{
- char *tmp;
- va_list cp_ap;
- size_t n = 0;
-
- va_copy(cp_ap, ap);
- n=vsnprintf(0, 1000000, format, cp_ap);
- tmp=alloca(n+2);
- vsnprintf(tmp, n+1, format, ap);
- fwrite(tmp, n,1, fstream);
- return n;
-}
-
diff --git a/mdk-stage1/dietlibc/lib/vprintf.c b/mdk-stage1/dietlibc/lib/vprintf.c
deleted file mode 100644
index 46ecc47a4..000000000
--- a/mdk-stage1/dietlibc/lib/vprintf.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int vprintf(const char *format, va_list ap)
-{
- char tmp[1000000];
- size_t n = vsnprintf(tmp, sizeof(tmp), format, ap);
- write(1, tmp, n);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/lib/vsnprintf.c b/mdk-stage1/dietlibc/lib/vsnprintf.c
deleted file mode 100644
index f425066e3..000000000
--- a/mdk-stage1/dietlibc/lib/vsnprintf.c
+++ /dev/null
@@ -1,238 +0,0 @@
-#include "dietfeatures.h"
-#include <stdarg.h>
-#include <sys/types.h>
-#include <stdlib.h>
-#include <string.h>
-#include "dietwarning.h"
-
-extern int __ltostr(char *s, int size, unsigned long i, int base, char UpCase);
-extern int __dtostr(double d,char *buf,int maxlen,int prec);
-
-int vsnprintf (char *str, size_t size, const char *format, va_list arg_ptr)
-{
- size_t apos,i;
- char ch,buf[1024];
- char *pb;
- char flag_in_sign;
- char flag_hash,flag_zero,flag_left,flag_space,flag_sign,flag_dot,flag_long;
- long number,width,preci,buf_len,pad;
- char padwith;
-
- size--;
-
- apos=0;
- while (apos<size)
- {
- ch=*format++;
- switch (ch)
- {
- case '%':
- flag_hash=0;
- flag_zero=0;
- flag_left=0;
- flag_space=0;
- flag_sign=0;
- flag_dot=0;
- flag_in_sign=0;
- flag_long=0;
-
- width=0;
- padwith=' ';
-
-inn_vsnprintf:
- if (apos>=size) continue; /* ARGL !!! */
-
- ch=*format++;
- switch (ch)
- {
-/* Format end ?!? */
- case 0:
- return -1;
- break;
-
-/* Format flag chars */
- case '#':
- flag_hash=1;
- goto inn_vsnprintf;
-
- case 'l':
- ++flag_long;
- goto inn_vsnprintf;
-
- case '0':
- padwith='0';
- goto inn_vsnprintf;
-
- case '-':
- flag_left=1;
- goto inn_vsnprintf;
-
- case ' ':
- flag_space=1;
- goto inn_vsnprintf;
-
- case '+':
- flag_sign=1;
- goto inn_vsnprintf;
-
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if(flag_dot) return -1;
- width=strtol(--format,&pb,10);
- format=pb;
- goto inn_vsnprintf;
-
- case '*':
- width=va_arg(arg_ptr,int);
- goto inn_vsnprintf;
-
- case '.':
- flag_dot=1;
- if (*format=='*') {
- preci=va_arg(arg_ptr,int);
- ++format;
- } else {
- preci=strtol(format,&pb,10);
- format=pb;
- }
- goto inn_vsnprintf;
-
-/* Format conversion chars */
- case 'c':
- ch=(char)va_arg(arg_ptr,int);
- case '%':
- if (str) str[apos]=ch; ++apos;
- break;
-
- case 's':
- pb=va_arg(arg_ptr,char *);
-#ifdef WANT_NULL_PRINTF
- if (!pb) pb="(null)";
-#endif
- buf_len=strlen(pb);
- if (flag_dot && buf_len>preci) buf_len=preci;
- if (buf_len>size-apos) buf_len=size-apos;
-
-print_out:
- if (str) {
- if (width && (!flag_left))
- {
- for (pad=width-buf_len; pad>0; --pad) str[apos++]=padwith;
- }
- for(i=0;i<buf_len;++i) { str[apos++]=pb[i]; } /* strncpy */
- if (width && (flag_left))
- {
- for (pad=width-buf_len; pad>0; --pad) str[apos++]=padwith;
- }
- } else {
- if (width) {
- apos+=width>buf_len?width:buf_len;
- } else {
- apos+=size>buf_len?buf_len:size;
- }
- }
-
- break;
-
- /* Numbers */
- case 'b':
- i=2;
- goto num_vsnprintf;
- case 'p':
- flag_hash=1;
- width=sizeof(void *)<<1;
- padwith='0';
- ch='x';
- case 'X':
- case 'x':
- i=16;
- if (flag_hash)
- {
- if (str) {
- str[apos++]='0';
- str[apos++]=ch;
- } else
- apos+=2;
- }
- goto num_vsnprintf;
- case 'd':
- case 'i':
- flag_in_sign=1;
- case 'u':
- i=10;
- goto num_vsnprintf;
- case 'o':
- i=8;
- if (flag_hash) { if (str) str[apos]='0'; ++apos; }
-
-num_vsnprintf:
- if (apos>=size) continue; /* ARGL !!! */
-
- if (flag_long)
- number=va_arg(arg_ptr,long);
- else
- number=va_arg(arg_ptr,int);
-
- if (flag_in_sign && (number<0))
- {
- number*=-1;
- flag_in_sign=2;
- }
-
- buf_len=__ltostr(buf+1,sizeof(buf)-1,(unsigned long) number,i,0);
- pb=buf+1;
-
- if (flag_in_sign==2)
- {
- *(--pb)='-';
- buf_len++;
- }
- else if ((flag_in_sign)&&(flag_sign || flag_space))
- {
- *(--pb)=(flag_sign)?'+':' ';
- buf_len++;
- }
- goto print_out;
-
-#ifdef WANT_FLOATING_POINT_IN_PRINTF
- case 'f':
- case 'g':
- {
- double d=va_arg(arg_ptr,double);
- buf_len=__dtostr(d,buf,sizeof(buf),width?width:6);
- if (flag_dot) {
- char *tmp;
- if ((tmp=strchr(buf,'.'))) {
- while (preci>-1 && *++tmp) --preci;
- *tmp=0;
- }
- }
- pb=buf;
- goto print_out;
- }
-#endif
- default:
- break;
- }
- break;
- case 0:
- if (str) str[apos]=0;
- return apos;
- default:
- if (str) str[apos]=ch; apos++;
- break;
- }
- }
- if (str) str[apos]=0;
- return apos;
-}
-
-link_warning("vsnprintf","warning: the printf functions add several kilobytes of bloat.")
-
diff --git a/mdk-stage1/dietlibc/lib/vsprintf.c b/mdk-stage1/dietlibc/lib/vsprintf.c
deleted file mode 100644
index 10ff04bd7..000000000
--- a/mdk-stage1/dietlibc/lib/vsprintf.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <stdlib.h>
-
-int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int vsprintf(char *dest,const char *format, va_list arg_ptr)
-{
- return vsnprintf(dest,1000000,format,arg_ptr);
-}
diff --git a/mdk-stage1/dietlibc/lib/vsscanf.c b/mdk-stage1/dietlibc/lib/vsscanf.c
deleted file mode 100644
index 1c4c9b787..000000000
--- a/mdk-stage1/dietlibc/lib/vsscanf.c
+++ /dev/null
@@ -1,304 +0,0 @@
-#include "dietfeatures.h"
-#include <stdarg.h>
-#include <sys/types.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-
-const char *skip_ws(const char *str)
-{
- while ((*str)&&(isspace(*str))) str++;
- return str;
-}
-
-extern double strtod(const char *s,char **f);
-
-int vsscanf(const char *str, const char *format, va_list arg_ptr)
-{
- int n=0,div;
- unsigned char ch;
-
- char flag_discard, flag_malloc, flag_half, flag_long, flag_longlong;
- char flag_width;
-
- unsigned long width;
-
- /* arg_ptr tmps */
-#ifdef WANT_FLOATING_POINT_IN_SCANF
- double d,*pd;
- float *pf;
-#endif
-
- long l=0,*pl;
- short *ph;
- int *pi;
- char *s;
-
- while ((*str)&&(*format))
- {
- const char *prevfmt=format;
- format=skip_ws(format);
- ch=*format++;
- if (!ch) continue;
-
- switch (ch)
- {
- case '%':
- div=0;
- flag_discard=0;
- flag_malloc=0;
- flag_half=0;
- flag_long=0;
- flag_longlong=0;
-
- flag_width=0;
- width=-1;
-
-inn_vsscanf:
- ch=*format++;
-
- switch (ch)
- {
- case 0:
- return 0;
-
- case '%':
- if (*(str++)!=ch) return n;
- break;
-
- /* flags */
- case '*':
- flag_discard=1;
- goto inn_vsscanf;
-
- case 'a':
- flag_malloc=1;
- goto inn_vsscanf;
-
- case 'h':
- flag_half=1;
- goto inn_vsscanf;
-
- case 'l':
- if (flag_long) flag_longlong=1;
- flag_long=1;
- goto inn_vsscanf;
-
- /* longlong ? NOT YET ! */
- case 'q':
- case 'L':
- flag_longlong=1;
- goto inn_vsscanf;
-
- 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 inn_vsscanf;
-
- /* conversion */
-
- case 'n':
- while (width && *str)
- {
- *(s++)=*(str++);
- --width;
- l++;
- }
- if (!flag_discard)
- {
- pl=(long *)va_arg(arg_ptr,long*);
- *pl=l;
- ++n;
- }
- break;
-
- case 'p':
- case 'X':
- case 'x':
- div+=6;
- case 'd':
- div+=2;
- case 'o':
- div+=8;
- case 'u':
- case 'i':
- if (*(str=skip_ws(str)))
- {
- l=strtol(str,&s,div);
- if (str!=s)
- {
- if (!flag_discard)
- {
- if (flag_long)
- {
- pl=(long *)va_arg(arg_ptr,long*);
- *pl=l;
- }
- else if (flag_half)
- {
- ph=(short *)va_arg(arg_ptr,short*);
- *ph=l;
- }
- else
- {
- pi=(int *)va_arg(arg_ptr,int*);
- *pi=l;
- }
- ++n;
- }
- str=s;
- }
- else
- return n;
- }
- break;
-
-#ifdef WANT_FLOATING_POINT_IN_SCANF
- case 'e':
- case 'E':
- case 'f':
- case 'g':
- if (*(str=skip_ws(str)))
- {
- d=strtod(str,&s);
- if (str!=s)
- {
- 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;
- }
- str=s;
- }
- else
- return n;
- }
- break;
-#endif
-
- case 'c':
- if (!flag_discard)
- {
- s=(char *)va_arg(arg_ptr,char*);
- ++n;
- }
- if (!flag_width) width=1;
- while (width && *str)
- {
- if (!flag_discard) *(s++)=*(str);
- ++str;
- --width;
- }
- break;
-
- case 's':
- if (!flag_discard)
- {
- s=(char *)va_arg(arg_ptr,char*);
- ++n;
- }
- if (*(str=skip_ws(str)))
- {
- while (width && (!isspace(*str)))
- {
- if (!flag_discard) *(s++)=*(str);
- if (!*str) break;
- ++str;
- --width;
- }
- *s=0;
- }
- 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 && (cset[(unsigned char)(*str)]-flag_not))
- {
- if (!flag_discard) *(s++)=*(str);
- if (!*str) break;
- ++str;
- --width;
- }
- }
- break;
-#endif
- }
- break;
-
- default:
- if (prevfmt<format) {
- while (prevfmt<format) {
- if (*str!=*prevfmt) return n;
- ++str; ++prevfmt;
- }
- } else
- if (*(str++)!=ch) return n;
- break;
- }
- }
- return n;
-}
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/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/dnscruft.c b/mdk-stage1/dietlibc/libcruft/dnscruft.c
deleted file mode 100644
index d7a0efa50..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft.c
+++ /dev/null
@@ -1,115 +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>
-
-int __dns_fd=-1;
-
-void __dns_make_fd() {
- int tmp;
- struct sockaddr_in si;
- if (__dns_fd>0) return;
- tmp=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
- if (tmp<0) {
- perror("__dns_make_fd!socket");
- 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))) {
- perror("__dns_make_fd!bind");
- return;
- }
- __dns_fd=tmp;
-}
-
-int __dns_servers=0;
-struct sockaddr __dns_server_ips[8];
-
-int __dns_search=0;
-char *__dns_domains[8];
-
-void __dns_readstartfiles() {
- int fd;
- char *buf=alloca(4096);
- int len;
- if (__dns_servers>0) return;
- {
- struct sockaddr_in to;
- char *cacheip=getenv("DNSCACHEIP");
- if (cacheip) {
- to.sin_port=htons(53);
- to.sin_family=AF_INET;
- if (inet_aton(cacheip,&to.sin_addr)) {
- memmove(__dns_server_ips,&to,sizeof(struct sockaddr));
- ++__dns_servers;
- }
- }
- }
- 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;
- while (buf<last && !isspace(*buf)) ++buf;
- if (buf>=last) break;
- *buf=0;
- if (inet_aton(tmp,&i.sin_addr)) {
- i.sin_family=AF_INET;
- i.sin_port=htons(53);
- memmove(&__dns_server_ips[__dns_servers],&i,sizeof(struct sockaddr));
- if (__dns_servers<8) ++__dns_servers;
- }
- }
- }
- }
- if (!strncmp(buf,"search",6) || !strncmp(buf,"domain",6)) {
- buf+=6;
- }
- 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,int offset,unsigned char *dest,int maxlen) {
- unsigned char *tmp;
- unsigned char *max=dest+maxlen;
- unsigned char *after=packet+offset;
- int ok=0;
- for (tmp=after; maxlen>0&&*tmp; ) {
- if ((*tmp>>6)==3) { /* goofy DNS decompression */
- unsigned int ofs=((unsigned int)(*tmp&0x3f)<<8)|*(tmp+1);
- if (ofs>=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;
- 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 b59207072..000000000
--- a/mdk-stage1/dietlibc/libcruft/dnscruft2.c
+++ /dev/null
@@ -1,185 +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 <stdio.h>
-
-extern int h_errno;
-
-static char dnspacket[]="\xfe\xfe\001\000\000\001\000\000\000\000\000\000";
-
-extern void __dns_make_fd();
-extern int __dns_fd;
-
-extern int __dns_servers;
-extern struct sockaddr __dns_server_ips[];
-
-extern void __dns_readstartfiles();
-
-extern int __dns_decodename(unsigned char *packet,int offset,unsigned char *dest,int maxlen);
-
-/* 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 __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor) {
- int names,ips;
- unsigned char *cur;
- unsigned char *max;
- unsigned char packet[512];
- __dns_make_fd();
-
- if (lookfor==1) {
- result->h_aliases=(char**)(buf+8*4);
- result->h_addrtype=AF_INET;
- result->h_length=4;
- result->h_addr_list=(char**)buf;
- } else {
- result->h_aliases=(char**)(buf+8*16);
- result->h_addrtype=AF_INET6;
- result->h_length=16;
- result->h_addr_list=(char**)buf;
- }
- result->h_aliases[0]=0;
-
- cur=buf+16*sizeof(char*);
- max=buf+buflen;
- names=ips=0;
-
- memmove(packet,dnspacket,12);
- *(unsigned short*)packet=rand();
- {
- unsigned char* x;
- const char* y,* tmp;
- x=packet+12; y=name;
- 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)) { *h_errnop=ERANGE; return 1; }
- memmove(x,y,tmp-y);
- x+=tmp-y;
- if (!*tmp) {
- *x=0;
- break;
- }
- y=tmp;
- }
- *++x= 0; *++x= lookfor; /* A */
- *++x= 0; *++x= 1; /* IN */
- ++x;
- {
- int i; /* current server */
- int j; /* timeout count down */
- struct pollfd duh;
- i=0; j=30;
- __dns_readstartfiles();
- duh.fd=__dns_fd;
- duh.events=POLLIN;
- for (j=30; j>0; --j) {
- sendto(__dns_fd,packet,x-packet,0,(struct sockaddr*)&(__dns_server_ips[i]),sizeof(struct sockaddr));
- if (++i > __dns_servers) i=0;
- if (poll(&duh,1,1) == 1) {
- /* read and parse answer */
- unsigned char inpkg[1500];
- /*int len=*/ read(__dns_fd,inpkg,1500);
-#if 0
- {
- int tft=open("duh",0);
- read(tft,inpkg,1500);
- close(tft);
- }
-#endif
- /* header, question, answer, authority, additional */
- if (inpkg[0]!=packet[0] || inpkg[1]!=packet[1]) continue; /* wrong ID */
- if ((inpkg[2]&0xf9) != 0x81) continue; /* not answer */
- if ((inpkg[3]&0x0f) != 0) break; /* error */
- tmp=inpkg+12;
- {
- char name[257];
- unsigned short q=((unsigned short)inpkg[4]<<8)+inpkg[5];
- while (q>0) {
- while (*tmp) tmp+=*tmp+1;
- tmp+=5;
- --q;
- }
- q=((unsigned short)inpkg[6]<<8)+inpkg[7];
- if (q<1) break;
- while (q>0) {
- int decofs=__dns_decodename(inpkg,tmp-(char*)inpkg,name,256);
- 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,tmp-(char*)inpkg,name,256);
- 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,tmp-(char*)inpkg,name,256);
- 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;
- ++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 i;
- for (i=0; i<16; ++i) cur[i]=tmp[i];
- }
- cur+=16;
- result->h_addr_list[ips]=0;
- }
- }
-/* puts(name); */
- }
- }
-/* printf("%d answers\n",((unsigned short)inpkg[6]<<8)+inpkg[7]);
- printf("ok\n");*/
- *h_errnop=0;
- *RESULT=result;
- return 0;
- }
-/*kaputt:*/
- }
- }
- }
- return 1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/entlib.c b/mdk-stage1/dietlibc/libcruft/entlib.c
deleted file mode 100644
index f88b3f057..000000000
--- a/mdk-stage1/dietlibc/libcruft/entlib.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * dietlibc/lib/entlib.c - Generic delimited-line parsing library
- *
- * Copyright 2001 Jeff Garzik <jgarzik@mandrakesoft.com>
- *
- * This is a brand new implementation, based on the interface
- * described in man-pages-1.34-1mdk man pages package.
- */
-
-
-#include "entlib.h" /* this is our only include */
-
-
-/*
- * __ent_start
- *
- * Allocates and zeroes the module's state structure,
- * and open a handle to /etc/passwd.
- *
- * Returns -1 on failure and sets errno, or zero for success.
- */
-
-int __ent_start(const char *pathname, struct __ent_state **st_ref)
-{
- struct __ent_state *st;
-
- if (*st_ref)
- return 0;
-
- st = calloc(1, sizeof(*st));
- if (!st) {
- errno = ENOMEM;
- return -1;
- }
-
- st->fd = open(pathname, O_RDONLY);
- if (st->fd == -1) {
- /* errno should have been set by open(2) */
- free(st);
- st = NULL;
- return -1;
- }
-
- *st_ref = st;
- return 0;
-}
-
-
-/*
- * __ent_get_line
- *
- * Eliminates a previous line from the buffer, if any.
- * Then reads in a new line from /etc/passwd, if necessary.
- *
- * Returns -1 on failure, or zero for success.
- */
-
-int __ent_get_line(struct __ent_state *st)
-{
- int rc;
-
- /* overwrite previous line, by shifting the rest
- * of the rest to the front of the buffer
- */
- if (st->bufptr) {
- unsigned int slop = st->buflen - st->bufptr;
- memmove(st->ent_buf, &st->ent_buf[st->bufptr], slop);
- st->bufptr = 0;
- st->buflen = slop;
- st->ent_buf[st->buflen] = 0; /* null terminate */
- }
-
- if (st->buflen == __ENT_BUFSIZ || strchr(st->ent_buf, '\n'))
- return 0;
-
- rc = read(st->fd, &st->ent_buf[st->buflen], __ENT_BUFSIZ - st->buflen);
- if (rc < 0)
- return -1;
-
- st->buflen += rc;
- if (st->buflen == 0)
- return -1;
-
- return 0;
-}
-
-
-/*
- * __ent_split
- *
- * Splits a string into parts based on a delimiter.
- * Stops processing when \n is reached also.
- *
- * Returns -1 on failure, or zero on success.
- */
-
-int __ent_split(struct __ent_state *st, char **parts,
- int n_parts, int delimiter, int require_exact)
-{
- char *s = &st->ent_buf[st->bufptr];
- int idx = 0;
-
- /* empty list */
- if (!*s) {
- if (!require_exact)
- return 0;
- return -1;
- }
-
- /* scan through string, sticking string pointers
- * into parts[] as delimiters are found
- */
- parts[idx++] = s;
- while (*s) {
- st->bufptr++;
- if (*s == '\n') {
- *s = 0; /* null terminate */
- break;
- }
- if (*s == delimiter) {
- *s = 0; /* null terminate */
- /* boundary error: too many delimiters */
- if (idx == n_parts)
- return -1;
- s++;
- parts[idx++] = s;
- } else {
- s++;
- }
- }
-
- if (!require_exact)
- return 0;
- return (n_parts == idx) ? 0 : -1;
-}
-
-
-void __ent_set(struct __ent_state *st)
-{
- if (!st)
- return;
- st->buflen = st->bufptr = 0;
- lseek(st->fd, 0, SEEK_SET);
-}
-
-
-void __ent_end(struct __ent_state *st)
-{
- if (!st)
- return;
- close(st->fd);
- free(st);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/entlib.h b/mdk-stage1/dietlibc/libcruft/entlib.h
deleted file mode 100644
index 2659d542e..000000000
--- a/mdk-stage1/dietlibc/libcruft/entlib.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * dietlibc/lib/entlib.h - Generic delimited-line parsing library header
- *
- * Copyright 2001 Jeff Garzik <jgarzik@mandrakesoft.com>
- *
- * This is a brand new implementation, based on the interface
- * described in man-pages-1.34-1mdk man pages package.
- */
-
-#ifndef __ENTLIB_H
-#define __ENTLIB_H
-
-#include <sys/types.h> /* for open(2), lseek(2) */
-#include <sys/stat.h> /* for open(2) */
-#include <fcntl.h> /* for open(2) */
-#include <unistd.h> /* for close(2), lseek(2) */
-#include <stdlib.h> /* for calloc(3), free(3) */
-#include <errno.h> /* for errno */
-#include <string.h> /* for memmove(3) */
-#include <stdlib.h> /* for atoi(3) */
-#include <paths.h> /* for the file locations */
-
-#include <pwd.h> /* for struct passwd */
-#include <grp.h> /* for struct group */
-#include <shadow.h> /* for struct spwd */
-
-/* should be a multiple of 64 to create decent alignment */
-#define __ENT_BUFSIZ (64 * 2)
-#define __ENT_RAW_BUFSIZ (__ENT_BUFSIZ + 2) /* some overlap required */
-
-struct __ent_state {
- char ent_buf[__ENT_RAW_BUFSIZ]; /* raw file data buffer */
- unsigned int buflen; /* amount of valid data in ent_buf */
- unsigned int bufptr; /* next valid position in ent_buf */
- int fd; /* /etc/passwd file descriptor */
-};
-
-extern int __ent_start(const char *pathname, struct __ent_state **st_ref);
-extern int __ent_get_line(struct __ent_state *st);
-extern int __ent_split(struct __ent_state *st, char **parts, int n_parts, int delimiter, int require_exact);
-extern void __ent_set(struct __ent_state *st);
-extern void __ent_end(struct __ent_state *st);
-
-#endif /* __ENTLIB_H */
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/getgrgid.c b/mdk-stage1/dietlibc/libcruft/getgrgid.c
deleted file mode 100644
index 0c223056c..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrgid.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <grp.h>
-#include <string.h>
-#include <stdlib.h>
-
-struct group *getgrgid(gid_t gid) {
- struct group *tmp;
- setgrent();
- for (;;) {
- tmp=getgrent();
- if (!tmp) return 0;
- if (tmp->gr_gid == gid)
- return tmp;
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getgrnam.c b/mdk-stage1/dietlibc/libcruft/getgrnam.c
deleted file mode 100644
index 1bdbb42a8..000000000
--- a/mdk-stage1/dietlibc/libcruft/getgrnam.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <grp.h>
-#include <string.h>
-#include <stdlib.h>
-
-struct group *getgrnam(const char* name) {
- struct group *tmp;
- setgrent();
- for (;;) {
- tmp=getgrent();
- if (!tmp) return 0;
- if (!strcmp(tmp->gr_name,name))
- return tmp;
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c
deleted file mode 100644
index a4207d44d..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr.c
+++ /dev/null
@@ -1,38 +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>
-
-extern int h_errno;
-
-struct hostent* gethostbyaddr(const void *addr, socklen_t len, int type) {
- static struct hostent hostbuf;
- struct hostent *hp;
- size_t hstbuflen;
- char *tmphstbuf;
- int res;
- int herr;
-
- hstbuflen = 1024;
- /* Allocate buffer, remember to free it to avoid a memory leakage. */
- tmphstbuf = malloc (hstbuflen);
-
- while ((res = gethostbyaddr_r (addr, len, type, &hostbuf, tmphstbuf, hstbuflen,
- &hp, &herr)) == ERANGE)
- {
- /* Enlarge the buffer. */
- hstbuflen *= 2;
- tmphstbuf = realloc (tmphstbuf, hstbuflen);
- }
- /* Check for errors. */
- if (res || hp == NULL)
- return NULL;
- return hp;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c
deleted file mode 100644
index 37174ab13..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyaddr_r.c
+++ /dev/null
@@ -1,51 +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 <stdio.h>
-
-extern int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor);
-
-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;
-}
-
-/* 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) {
- if (format==AF_INET) {
- char tmpbuf[50];
- char *tmp;
- int res;
- 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");
- res= __dns_gethostbyx_r(tmpbuf,result,buf+4,buflen-4,RESULT,h_errnop,12); /* 12 == ns_t_ptr */
- if (res==0) {
- result->h_addr_list[0]=buf;
- result->h_addr_list[1]=buf;
- *(int*)buf=*(int*)addr;
- }
- return res;
- }
- return 1;
-}
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname.c b/mdk-stage1/dietlibc/libcruft/gethostbyname.c
deleted file mode 100644
index 5db5bf3c5..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname.c
+++ /dev/null
@@ -1,39 +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>
-
-extern int h_errno;
-
-struct hostent* gethostbyname (const char *host)
-{
- static struct hostent hostbuf;
- struct hostent *hp;
- size_t hstbuflen;
- char *tmphstbuf;
- int res;
- int herr;
-
- hstbuflen = 1024;
- /* Allocate buffer, remember to free it to avoid a memory leakage. */
- tmphstbuf = malloc (hstbuflen);
-
- while ((res = gethostbyname_r (host, &hostbuf, tmphstbuf, hstbuflen,
- &hp, &herr)) == ERANGE)
- {
- /* Enlarge the buffer. */
- hstbuflen *= 2;
- tmphstbuf = realloc (tmphstbuf, hstbuflen);
- }
- /* Check for errors. */
- if (res || hp == NULL)
- return NULL;
- return hp;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname2.c b/mdk-stage1/dietlibc/libcruft/gethostbyname2.c
deleted file mode 100644
index 3d8296616..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname2.c
+++ /dev/null
@@ -1,40 +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>
-
-extern int h_errno;
-
-struct hostent* gethostbyname2(const char *host,int AF)
-{
- static struct hostent hostbuf;
- struct hostent *hp;
- size_t hstbuflen;
- char *tmphstbuf;
- int res;
- int herr;
-
- hstbuflen = 1024;
- /* Allocate buffer, remember to free it to avoid a memory leakage. */
- tmphstbuf = malloc (hstbuflen);
-
- while ((res = gethostbyname2_r (host, AF,&hostbuf, tmphstbuf, hstbuflen,
- &hp, &herr)) == ERANGE)
- {
- /* Enlarge the buffer. */
- hstbuflen *= 2;
- tmphstbuf = realloc (tmphstbuf, hstbuflen);
- }
- /* Check for errors. */
- if (res || hp == NULL)
- return NULL;
- return hp;
-}
-
diff --git a/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c b/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.c
deleted file mode 100644
index b505ccfbc..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname2_r.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 <sys/poll.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include <stdio.h>
-
-extern int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor);
-
-/* 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) {
- int 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; }
- 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 d5a531f0f..000000000
--- a/mdk-stage1/dietlibc/libcruft/gethostbyname_r.c
+++ /dev/null
@@ -1,30 +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 <stdio.h>
-
-extern int __dns_gethostbyx_r(const char* name, struct hostent* result,
- char *buf, size_t buflen,
- struct hostent **RESULT, int *h_errnop, int lookfor);
-
-/* 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) {
- int L=strlen(name);
- result->h_name=buf;
- if (buflen<L) { *h_errnop=ERANGE; return 1; }
- strcpy(buf,name);
- 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 359f44d9f..000000000
--- a/mdk-stage1/dietlibc/libcruft/getlogin.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <stdlib.h>
-
-char* getlogin() {
- return getenv("LOGNAME");
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpagesize.c b/mdk-stage1/dietlibc/libcruft/getpagesize.c
deleted file mode 100644
index dea4a9693..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpagesize.c
+++ /dev/null
@@ -1,14 +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) {
- 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 3da7cd2b3..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpass.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include <termios.h>
-#include <unistd.h>
-#include <limits.h>
-#include <fcntl.h>
-#include <string.h>
-
-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,PASS_MAX-ofs);
- if (nread<0) {
- buf[ofs]=0;
- break;
- } else if (ofs+nread>=PASS_MAX) {
- buf[PASS_MAX-1]=0;
- break;
- } else if (buf[ofs+nread-1]=='\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/getpwnam.c b/mdk-stage1/dietlibc/libcruft/getpwnam.c
deleted file mode 100644
index 53aae74d1..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwnam.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <pwd.h>
-#include <string.h>
-#include <stdlib.h>
-
-struct passwd *getpwnam(const char * name) {
- struct passwd *tmp;
- setpwent();
- for (;;) {
- tmp=getpwent();
- if (!tmp) return 0;
- if (!strcmp(tmp->pw_name,name))
- return tmp;
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getpwuid.c b/mdk-stage1/dietlibc/libcruft/getpwuid.c
deleted file mode 100644
index eef14e6e8..000000000
--- a/mdk-stage1/dietlibc/libcruft/getpwuid.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <pwd.h>
-#include <string.h>
-#include <stdlib.h>
-
-struct passwd *getpwuid(uid_t uid) {
- struct passwd *tmp;
- setpwent();
- for (;;) {
- tmp=getpwent();
- if (!tmp) return 0;
- if (tmp->pw_uid==uid)
- return tmp;
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/getspnam.c b/mdk-stage1/dietlibc/libcruft/getspnam.c
deleted file mode 100644
index e6573345d..000000000
--- a/mdk-stage1/dietlibc/libcruft/getspnam.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <shadow.h>
-#include <string.h>
-#include <stdlib.h>
-
-struct spwd *getspnam(const char * name) {
- struct spwd *tmp;
- setspent();
- for (;;) {
- tmp=getspent();
- if (!tmp) return 0;
- if (!strcmp(tmp->sp_namp,name))
- return tmp;
- }
-}
diff --git a/mdk-stage1/dietlibc/libcruft/grent.c b/mdk-stage1/dietlibc/libcruft/grent.c
deleted file mode 100644
index 0357657de..000000000
--- a/mdk-stage1/dietlibc/libcruft/grent.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * dietlibc/lib/grent.c - getgrent(3)/setgrent(3)/endgrent(3) implementation
- *
- * Copyright 2001 Jeff Garzik <jgarzik@mandrakesoft.com>
- *
- * This is a brand new implementation, based on the interface
- * described in man-pages-1.34-1mdk man pages package.
- */
-
-
-#include "entlib.h" /* this is our only include */
-
-#define MAX_GROUP_MEMBERS 16 /* matches Linux kernel task struct */
-
-static struct __ent_state *st = NULL; /* state held across calls */
-static char *gr_mem[MAX_GROUP_MEMBERS+1];
-static struct group gr;
-
-struct group *getgrent(void)
-{
- char *parts[4], *grouplist;
- unsigned int bufptr;
-
- if (__ent_start(_PATH_GROUP, &st))
- return NULL;
- if (__ent_get_line(st))
- goto err_out;
- if (__ent_split(st, parts, 4, ':', 1) < 0)
- goto err_out;
-
- gr.gr_name = parts[0];
- gr.gr_passwd = parts[1];
- gr.gr_gid = (gid_t) atoi(parts[2]);
- grouplist = parts[3];
-
- memset(&gr_mem, 0, sizeof(gr_mem));
- gr.gr_mem = gr_mem;
-
- /* rewind bufptr to beginning of group list */
- bufptr = st->bufptr;
- st->bufptr = (int) (grouplist - st->ent_buf);
-
- __ent_split(st, gr_mem, MAX_GROUP_MEMBERS, ',', 0);
- st->bufptr = bufptr;
-
- return &gr;
-
-err_out:
- st->buflen = st->bufptr = 0; /* invalidate file data buffer */
- return NULL;
-}
-
-void setgrent(void) { __ent_set(st); }
-void endgrent(void) { __ent_end(st); st=NULL; }
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 203f73d4b..000000000
--- a/mdk-stage1/dietlibc/libcruft/herrno_location.c
+++ /dev/null
@@ -1,5 +0,0 @@
-extern int h_errno;
-
-int *__h_errno_location() { return &h_errno; }
-
-int *h_errno_location() __attribute__((weak,alias("__h_errno_location")));
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 ac7d9d007..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=strtol(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 f8c975f7a..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_ntoa.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-extern char *inet_ntoa_r(struct in_addr in,char* buf);
-
-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 77c47f239..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_ntop.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <arpa/inet.h>
-
-extern char *inet_ntoa_r(struct in_addr in,char* buf);
-
-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;
-}
-
-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;
- }
- }
- }
- *s=0;
- return len;
-}
-
-const char* inet_ntop(int AF, const void *CP, char *BUF, size_t LEN) {
- char buf[100];
- int 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 d5c17509c..000000000
--- a/mdk-stage1/dietlibc/libcruft/inet_pton.c
+++ /dev/null
@@ -1,97 +0,0 @@
-#include <stdlib.h>
-#include <arpa/inet.h>
-#include <errno.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];
- int prefixlen=0;
- 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=strtol(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) {
- 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) {
- if (AF==AF_INET) {
- if (!inet_aton(CP,(struct in_addr*)BUF))
- return 0;
- } else if (AF==AF_INET6) {
- if (CP[scan_ip6(CP,BUF)])
- 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 7d24866e9..000000000
--- a/mdk-stage1/dietlibc/libcruft/initgroups.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <grp.h>
-#include <sys/types.h>
-#include <string.h>
-
-int initgroups(const char *user, gid_t group) {
- int n=0;
- gid_t grouplist[32];
- struct group *g;
- 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/mkstemp.c b/mdk-stage1/dietlibc/libcruft/mkstemp.c
deleted file mode 100644
index 3b24ecb54..000000000
--- a/mdk-stage1/dietlibc/libcruft/mkstemp.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <unistd.h>
-#include <fcntl.h>
-#include <string.h>
-#include <errno.h>
-
-int mkstemp(char* template) {
- char *tmp=template+strlen(template)-6;
- int randfd;
- int i,res;
- unsigned int random;
- for (i=0; i<6; ++i) if (tmp[i]!='X') { __set_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,0600);
- if (res>=0) return res;
- }
- close(randfd);
-}
diff --git a/mdk-stage1/dietlibc/libcruft/pwent.c b/mdk-stage1/dietlibc/libcruft/pwent.c
deleted file mode 100644
index 30a8a0957..000000000
--- a/mdk-stage1/dietlibc/libcruft/pwent.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * dietlibc/lib/pwent.c - getpwent(3)/setpwent(3)/endpwent(3) implementation
- *
- * Copyright 2001 Jeff Garzik <jgarzik@mandrakesoft.com>
- *
- * This is a brand new implementation, based on the interface
- * described in man-pages-1.34-1mdk man pages package.
- */
-
-
-#include "entlib.h" /* this is our only include */
-
-static struct __ent_state *st = NULL; /* state held across calls */
-static struct passwd pw;
-
-struct passwd *getpwent(void)
-{
- char *parts[7];
-
- if (__ent_start(_PATH_PASSWD, &st))
- return NULL;
- if (__ent_get_line(st))
- goto err_out;
- if (__ent_split(st, parts, 7, ':', 1) < 0)
- goto err_out;
-
- pw.pw_name = parts[0];
- pw.pw_passwd = parts[1];
- pw.pw_uid = (uid_t) atoi(parts[2]);
- pw.pw_gid = (gid_t) atoi(parts[3]);
- pw.pw_gecos = parts[4];
- pw.pw_dir = parts[5];
- pw.pw_shell = parts[6];
-
- return &pw;
-
-err_out:
- st->buflen = st->bufptr = 0; /* invalidate file data buffer */
- return NULL;
-}
-
-void setpwent(void) { __ent_set(st); }
-void endpwent(void) { __ent_end(st); st=NULL; }
diff --git a/mdk-stage1/dietlibc/libcruft/res_init.c b/mdk-stage1/dietlibc/libcruft/res_init.c
deleted file mode 100644
index 9322af298..000000000
--- a/mdk-stage1/dietlibc/libcruft/res_init.c
+++ /dev/null
@@ -1,7 +0,0 @@
-extern int __dns_servers;
-extern void __dns_readstartfiles(void);
-
-int res_init(void) {
- __dns_servers=0;
- __dns_readstartfiles();
-}
diff --git a/mdk-stage1/dietlibc/libcruft/spent.c b/mdk-stage1/dietlibc/libcruft/spent.c
deleted file mode 100644
index e4beb81e4..000000000
--- a/mdk-stage1/dietlibc/libcruft/spent.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * dietlibc/lib/spent.c - getspent(3)/setspent(3)/endspent(3) implementation
- *
- * Copyright 2001 Jeff Garzik <jgarzik@mandrakesoft.com>
- *
- * This is a brand new implementation, based on the interface
- * described in man-pages-1.34-1mdk man pages package.
- */
-
-
-#include "entlib.h" /* this is our only include */
-
-static struct __ent_state *st = NULL; /* state held across calls */
-static struct spwd sp;
-
-struct spwd *getspent(void)
-{
- char *parts[9];
-
- if (__ent_start(_PATH_SHADOW, &st))
- return NULL;
- if (__ent_get_line(st))
- goto err_out;
- if (__ent_split(st, parts, 9, ':', 1) < 0)
- goto err_out;
-
- sp.sp_namp = parts[0];
- sp.sp_pwdp = parts[1];
- sp.sp_lstchg = atoi(parts[2]); /* XXX: atol */
- sp.sp_min = atoi(parts[3]);
- sp.sp_max = atoi(parts[4]);
- sp.sp_warn = atoi(parts[5]);
- sp.sp_inact = atoi(parts[6]);
- sp.sp_expire = atoi(parts[7]);
- sp.sp_flag = atoi(parts[8]);
-
- return &sp;
-
-err_out:
- st->buflen = st->bufptr = 0; /* invalidate file data buffer */
- return NULL;
-}
-
-void setspent(void) { __ent_set(st); }
-void endspent(void) { __ent_end(st); st=NULL; }
diff --git a/mdk-stage1/dietlibc/libcrypt/crypt.c b/mdk-stage1/dietlibc/libcrypt/crypt.c
deleted file mode 100644
index 933397f5f..000000000
--- a/mdk-stage1/dietlibc/libcrypt/crypt.c
+++ /dev/null
@@ -1,309 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-
-/* Initial permutation, */
-static 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 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 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 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 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 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 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 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 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 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;
-
- /* 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];
-
- 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/libdl/Makefile b/mdk-stage1/dietlibc/libdl/Makefile
deleted file mode 100644
index c0463f887..000000000
--- a/mdk-stage1/dietlibc/libdl/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# local "test" make file
-
-SRC = $(wildcard *.c) test/test.c
-OBJ = _dl_jump.o $(SRC:.c=.o)
-
-#CFLAGS = -Wall -O2
-CFLAGS = -g
-
-%.o : %.S
- $(HOME)/bin/diet gcc $(CFLAGS) -c -o $@ $^
-
-%.o : %.c
- $(HOME)/bin/diet gcc $(CFLAGS) -c -o $@ $^
-
-all: test.out
-
-test.g: test.c
- gcc -o $@ $^ -ldl
-
-test.out: $(OBJ)
- $(HOME)/bin/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 5d77bde34..000000000
--- a/mdk-stage1/dietlibc/libdl/README
+++ /dev/null
@@ -1,6 +0,0 @@
-this is the experimental libdl test-pre-pre-alpha code
-
-written by Olaf Dreesen
-
-Shouldn't work yet had some problems with the elf specs...
-and more inconsistencies...
diff --git a/mdk-stage1/dietlibc/libdl/_dl_int.h b/mdk-stage1/dietlibc/libdl/_dl_int.h
deleted file mode 100644
index 659e6ee0f..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_int.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef ___DL_INT_H__
-#define ___DL_INT_H__
-
-#include <elf.h>
-
-struct _dl_handle {
- /* basic */
- void * mem_base; /* base address of maped *.so */
- unsigned long mem_size; /* len of mem block */
- unsigned int lnk_count; /* reference count */
-
- /* symbol resolve helper */
- unsigned long*hash_tab; /* hash table */
- Elf32_Sym * dyn_sym_tab; /* dynamic symbol table */
- char * dyn_str_tab; /* dyn_name table */
-
- Elf32_Rel * plt_rel; /* PLT relocation table */
-
- /* FINI */
- void (*fini)(void);
-};
-
-#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))
-
-unsigned long elf_hash(const unsigned char *name);
-
-#endif
diff --git a/mdk-stage1/dietlibc/libdl/_dl_jump.S b/mdk-stage1/dietlibc/libdl/_dl_jump.S
deleted file mode 100644
index 134f31ea5..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_jump.S
+++ /dev/null
@@ -1,8 +0,0 @@
-.text
-.global _dl_jump
-_dl_jump:
- call do_rel
- pop %edx
- pop %edx
- jmp *%eax
-
diff --git a/mdk-stage1/dietlibc/libdl/_dl_open.c b/mdk-stage1/dietlibc/libdl/_dl_open.c
deleted file mode 100644
index 1f907db21..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_open.c
+++ /dev/null
@@ -1,207 +0,0 @@
-#include <stdio.h>
-#include <unistd.h>
-#include <sys/mman.h>
-#include <dlfcn.h>
-#include <linux/elf.h>
-
-#include "_dl_int.h"
-
-struct _dl_handle dl_test;
-
-#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))
-
-void _dl_jump();
-
-/*
- * this file is a Q. & D. hack ... don't think this is bug free or meaningfull
- */
-
-static void *do_map_in(void *base, unsigned long length, int flags, int fd, unsigned long offset)
-{
- 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 mmap(base, length, perm, MAP_PRIVATE|((base)?MAP_FIXED:0), fd, offset);
-}
-
-unsigned long do_rel(struct _dl_handle * tmp_dl, unsigned long off)
-{
-// struct _dl_handle * tmp_dl = ((void*)*((&off)-1));
- Elf32_Rel *tmp = ((void*)tmp_dl->plt_rel)+off;
- int sym=ELF32_R_SYM(tmp->r_info);
- register unsigned long sym_val;
-
- printf("do_rel %08x %08x\n",tmp_dl,off);
-
- printf ("do_rel %08x+%x\n",tmp_dl->plt_rel,off);
- printf("do_rel @ %08x with type %d -> %d\n",tmp->r_offset,ELF32_R_TYPE(tmp->r_info),sym);
-
- printf("do_rel sym %08x\n",tmp_dl->dyn_sym_tab[sym].st_value);
-
- /* modify GOT for REAL symbol */
- sym_val=((unsigned long)(tmp_dl->mem_base+tmp_dl->dyn_sym_tab[sym].st_value));
- *((unsigned long*)(tmp_dl->mem_base+tmp->r_offset))=sym_val;
-
- printf("do_rel sym %08x\n",sym_val);
- /* HOWTO JUMP ?!? */
- return sym_val;
-}
-
-void *_dl_open(const char*pathname, int fd, int flag)
-{
- int ps=getpagesize();
- int i;
- unsigned char buf[1024];
- char *m=0,*d;
- struct _dl_handle *ret=0;
-
- unsigned long l;
-
- Elf32_Ehdr *eh;
- Elf32_Phdr *ph;
-
- int ld_nr=0;
- Elf32_Phdr *ld[4]={0,0,0,0};
- Elf32_Phdr *dyn=0;
-
- if (fd==-1) return 0;
-
- printf("_dl_open: %s\n",pathname);
-
- read(fd, buf, 1024);
- eh=(Elf32_Ehdr*)buf;
- ph=(Elf32_Phdr*)&buf[eh->e_phoff];
-
- for (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);
- m = (char*)do_map_in(0, length, ld[0]->p_flags, fd, offset);
-
- /* zero pad bss */
- l = ld[0]->p_offset+ld[0]->p_filesz;
- memset(m+l,0,length-l);
-
- dl_test.mem_base=m;
- dl_test.mem_size=length;
- dl_test.lnk_count=0;
-
- ret = &dl_test;
- }
- 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);
- 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);
-
- /* mmap all mem_blocks for *.so */
- l = text_size+data_size;
-
- dl_test.mem_size=l;
-
- m = (char*) do_map_in(0,l,ld[0]->p_flags,fd,text_offset);
-
- /* 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_size-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);
- }
-
- dl_test.mem_base=m;
- dl_test.lnk_count=0;
- ret = &dl_test;
- }
-
- printf("_dl_open pre resolv\n");
- if (ret) {
- Elf32_Dyn* dyn_tab = (void*)m+dyn->p_vaddr;
- void (*init)();
- unsigned long* got=0;
- void* jmprel=0;
- int pltreltype=0;
- int pltrelsize=0;
-
- printf("_dl_open IN resolv\n");
- for(i=0;dyn_tab[i].d_tag;i++) {
- if (dyn_tab[i].d_tag==DT_HASH) {
- ret->hash_tab = (unsigned long*)(m+dyn_tab[i].d_un.d_ptr);
- }
- if (dyn_tab[i].d_tag==DT_SYMTAB) {
- ret->dyn_sym_tab = (Elf32_Sym*)(m+dyn_tab[i].d_un.d_ptr);
- }
- if (dyn_tab[i].d_tag==DT_STRTAB) {
- ret->dyn_str_tab = (char*)(m+dyn_tab[i].d_un.d_ptr);
- }
- if (dyn_tab[i].d_tag==DT_FINI) {
- ret->fini = (void(*)(void))(m+dyn_tab[i].d_un.d_val);
- }
- if (dyn_tab[i].d_tag==DT_INIT) {
- init = (void(*)(void))(m+dyn_tab[i].d_un.d_val);
- printf("init @ %08x\n",init);
- }
- if (dyn_tab[i].d_tag==DT_PLTGOT) {
- got=(unsigned long*)(m+dyn_tab[i].d_un.d_val);
- }
- if (dyn_tab[i].d_tag==DT_PLTREL) {
- pltreltype=dyn_tab[i].d_un.d_val;
- }
- if (dyn_tab[i].d_tag==DT_PLTRELSZ) {
- pltrelsize=dyn_tab[i].d_un.d_val;
- }
- if (dyn_tab[i].d_tag==DT_JMPREL) {
- jmprel=(m+dyn_tab[i].d_un.d_val);
- dl_test.plt_rel=jmprel;
- }
- }
- /* GOT */
- got[0]+=(unsigned long)m;
- got[1]=(unsigned long)&dl_test;
-// got[2]=(unsigned long)do_rel;
- got[2]=(unsigned long)(_dl_jump);
- /* */
-
- if (pltreltype == DT_REL) {
- Elf32_Rel *tmp = jmprel;
- for (;(char*)tmp<(((char*)jmprel)+pltrelsize);(char*)tmp=((char*)tmp)+sizeof(Elf32_Rel)) {
- *((unsigned long*)(m+tmp->r_offset))+=(unsigned long)m;
-// *((unsigned long*)(m+tmp->r_offset))+=(unsigned long)do_rel;
- printf("rel @ %08x with type %d -> %d\n",tmp->r_offset,ELF32_R_TYPE(tmp->r_info),ELF32_R_SYM(tmp->r_info));
- }
- }
-
- printf("_dl_open post resolv, pre init\n");
- init();
- }
- printf("_dl_open post resolv, init\n");
-
- close(fd);
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libdl/_dl_search.c b/mdk-stage1/dietlibc/libdl/_dl_search.c
deleted file mode 100644
index 5e3217d46..000000000
--- a/mdk-stage1/dietlibc/libdl/_dl_search.c
+++ /dev/null
@@ -1,84 +0,0 @@
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <dlfcn.h>
-
-#include <fcntl.h>
-#include <stdio.h>
-
-#define WANT_LD_SO_CONF_SEARCH
-
-static const char *_dl_search_rpath=0;
-void _dl_set_rpath(const char *path) { _dl_search_rpath=path; }
-
-/* 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,l=len,i=1;
- const char *c,*pe=path+pathlen;
-
- if (path) {
- for (c=path; c<pe; c+=i) {
- if ((*c==':')||(*c==';')) ++c;
- i=strcspn(c,":;");
- if (i) {
- strncpy(buf, c, i); buf[i]=0;
- l-=i;
- strncat(buf, "/", l);
- }
- else
- buf[0]=0;
- strncat(buf, filename, --l);
-// printf("_dl_search: %s\n",buf);
- if ((fd=open(buf,O_RDONLY))!=-1) return fd;
- }
- }
- 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=open(conf,O_RDONLY);
- if (fd!=-1) {
- l=read(fd,ld_so_conf,sizeof(ld_so_conf)-1);
- ld_so_conf[sizeof(ld_so_conf)-1]=0;
- close(fd);
- 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;
-}
-
-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 */
- if (getuid()==geteuid()) {
- 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 384550c47..000000000
--- a/mdk-stage1/dietlibc/libdl/dlclose.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "_dl_int.h"
-
-int dlclose (void *handle)
-{
- if (handle) {
- struct _dl_handle *h = handle;
- if (h->lnk_count) {
- --h->lnk_count;
- return -1;
- }
- if (munmap(h->mem_base,h->mem_size)!=0) return -1;
- }
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlerror.c b/mdk-stage1/dietlibc/libdl/dlerror.c
deleted file mode 100644
index 1e31bae54..000000000
--- a/mdk-stage1/dietlibc/libdl/dlerror.c
+++ /dev/null
@@ -1,4 +0,0 @@
-const char *dlerror(void)
-{
- return "HAE ?!?";
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlopen.c b/mdk-stage1/dietlibc/libdl/dlopen.c
deleted file mode 100644
index 1693d889f..000000000
--- a/mdk-stage1/dietlibc/libdl/dlopen.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <fcntl.h>
-#include <dlfcn.h>
-#include <limits.h>
-
-int _dl_search(char*buf, int bufsize, const char*filename);
-void *_dl_open(const char*pathname, int fd, int flag);
-
-void *dlopen (const char *filename, int flag)
-{
- int fd;
- char buf[PATH_MAX];
- const char *p;
- if (*filename=='/')
- fd=open(p=filename,O_RDONLY);
- else {
- p=buf;
- fd=_dl_search(buf,sizeof(buf),filename);
- }
-
- return _dl_open(p,fd,flag);
-}
diff --git a/mdk-stage1/dietlibc/libdl/dlsym.c b/mdk-stage1/dietlibc/libdl/dlsym.c
deleted file mode 100644
index 2af940837..000000000
--- a/mdk-stage1/dietlibc/libdl/dlsym.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "_dl_int.h"
-
-void *dlsym(void *handle, char *symbol)
-{
- printf("dlsym(%08x,%s) -> %08x\n",handle,symbol,elf_hash(symbol)%17);
- return 0;
-}
diff --git a/mdk-stage1/dietlibc/libdl/elf_hash.c b/mdk-stage1/dietlibc/libdl/elf_hash.c
deleted file mode 100644
index 463dba0dd..000000000
--- a/mdk-stage1/dietlibc/libdl/elf_hash.c
+++ /dev/null
@@ -1,12 +0,0 @@
-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/liblatin1/latin1-iscntrl.c b/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c
deleted file mode 100644
index b0c3605b0..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-iscntrl.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <ctype.h>
-
-int iscntrl(int c) {
- 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 c8d4a5df0..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isgraph.c
+++ /dev/null
@@ -1,4 +0,0 @@
-int isgraph(int c) {
- 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 cab1a5171..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-islower.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <ctype.h>
-
-int islower(int c) {
- return (c>='a' && c<='z') || (c>=223 && c<=255 && c!=247);
-}
diff --git a/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c b/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c
deleted file mode 100644
index f632483a0..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isprint.c
+++ /dev/null
@@ -1,4 +0,0 @@
-
-int isprint(int c) {
- 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 1c1d59db8..000000000
--- a/mdk-stage1/dietlibc/liblatin1/latin1-isupper.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <ctype.h>
-
-int isupper(int c) {
- return (c>='A' && c<='Z') || (c>=192 && c<=222 && c!=215);
-}
diff --git a/mdk-stage1/dietlibc/libpthread/CHANGES b/mdk-stage1/dietlibc/libpthread/CHANGES
deleted file mode 100644
index d39d990ba..000000000
--- a/mdk-stage1/dietlibc/libpthread/CHANGES
+++ /dev/null
@@ -1,45 +0,0 @@
-This is the pthread implementation of dietlibc.
-Written from scratch by Olaf Dreesen.
-
-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 06420f43a..000000000
--- a/mdk-stage1/dietlibc/libpthread/Makefile
+++ /dev/null
@@ -1,139 +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 \
- \
- thread_internal.o \
- thread_key.o \
- \
- pthread_once.o pthread_spinlock.o \
- \
- pthread_create.o pthread_detach.o \
- pthread_join.o pthread_self.o \
- pthread_exit.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_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 3139c731d..000000000
--- a/mdk-stage1/dietlibc/libpthread/README
+++ /dev/null
@@ -1,42 +0,0 @@
-LIBPTHREAD
-
- This is the pthread implementation of dietlibc.
- Written from scratch by Olaf Dreesen.
-
-1. STATUS: incomplete but 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:
-
- 1. generate the dietlibc in the parent directory.
- and make sure you have WANT_THREAD_SAVE active in the file:
- dietfeatures.h
-
- 2. change back here and type make
-
- and then you should have a libpthread.a
-
-
-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 2dc612dcc..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) (*(__errno_location()))=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 726e88fe5..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_init.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#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 690ad5f8e..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setdetachstate.c
+++ /dev/null
@@ -1,18 +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;
- }
- (*(__errno_location()))=EINVAL;
- return -1;
-}
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 f38e6e35e..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setinheritsched.c
+++ /dev/null
@@ -1,18 +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;
- }
- (*(__errno_location()))=EINVAL;
- return -1;
-}
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 833c0111b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedparam.c
+++ /dev/null
@@ -1,23 +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_RR))
- && ((param->sched_priority > 0) && (param->sched_priority < 100))) {
- attr->__schedparam.sched_priority=param->sched_priority;
- return 0;
- }
- (*(__errno_location()))=EINVAL;
- return -1;
-}
-
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 e845bca32..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setschedpolicy.c
+++ /dev/null
@@ -1,25 +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;
- }
- (*(__errno_location()))=ENOTSUP;
- }
- else
- (*(__errno_location()))=EINVAL;
- return -1;
-}
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 39088c9b2..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setscope.c
+++ /dev/null
@@ -1,18 +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)
- (*(__errno_location()))=ENOTSUP;
- else
- (*(__errno_location()))=EINVAL;
- return -1;
-}
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 cfbab7747..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_attr_setstacksize.c
+++ /dev/null
@@ -1,17 +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;
- }
- (*(__errno_location()))=EINVAL;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_cancel.c b/mdk-stage1/dietlibc/libpthread/pthread_cancel.c
deleted file mode 100644
index 4c87a3ed1..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cancel.c
+++ /dev/null
@@ -1,35 +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) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
- thread = __get_thread_struct(j);
-
- if (thread==0) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
-
- 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 d3c2274f3..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_broadcast.c
+++ /dev/null
@@ -1,23 +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();
-
- __pthread_lock(&(cond->lock));
- while ((tmp=cond->wait_chain)) {
- cond->wait_chain=tmp->waitnext;
- tmp->waitnext=0;
- tmp->waiting=0;
- }
- __pthread_unlock(&(cond->lock));
-
- 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 9a6cc4f0b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_destroy.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#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) {
- (*__errno_location())=EBUSY;
- return 1;
- }
-
- 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 20b38bef2..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_init.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#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 60bf2119c..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_signal.c
+++ /dev/null
@@ -1,24 +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();
-
- __pthread_lock(&(cond->lock));
- if ((tmp=cond->wait_chain)) cond->wait_chain=tmp->waitnext;
- __pthread_unlock(&(cond->lock));
-
- 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 6613f2ca9..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_timedwait.c
+++ /dev/null
@@ -1,43 +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;
-
- __THREAD_INIT();
-
- this=__thread_self();
-
- /* put in wait-chain */
- __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));
-
- /* Aeh yeah / wait till signal */
- pthread_mutex_unlock(mutex);
- ret=nanosleep(abstime,0);
- pthread_mutex_lock(mutex);
-
- __TEST_CANCEL();
-
- if (ret) {
- if ((*__errno_location())!=EINTR) return -1;
- return 0;
- }
-
- (*__errno_location())=ETIMEDOUT;
- return -1;
-}
-
-
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 0c6c0ae13..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_cond_wait.c
+++ /dev/null
@@ -1,37 +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 */
- __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));
-
- /* Aeh yeah / wait till signal */
- pthread_mutex_unlock(mutex);
- while (this->waiting) {
- __thread_wait_some_time();
- if (this->canceled) this->waiting=0; /* we got a cancel signal */
- }
- pthread_mutex_lock(mutex);
-
- __TEST_CANCEL();
- 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 b4a499081..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_create.c
+++ /dev/null
@@ -1,76 +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) {
- (*(__errno_location()))=EINVAL;
- return -1;
- }
-
- td = __thread_get_free();
-
- if (td) {
- if (!(attr)) {
- pthread_attr_init(&default_attr);
- attr=&default_attr;
- }
-
- if ((td->policy!=SCHED_OTHER)&&(td->priority==0)) {
- (*(__errno_location()))=EINVAL;
- return -1;
- }
-
- 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 (!(td->stack_addr)) {
- char *stack=(char*)malloc(td->stack_size);
- if (!(stack)) {
- (*(__errno_location()))=EINVAL;
- return -1;
- }
- td->stack_begin = stack;
- td->stack_addr = stack+td->stack_size;
- } else {
- td->stack_begin = 0;
- td->stack_addr = attr->__stackaddr;
- }
-
- ret = signal_manager_thread(td);
-
- if (ret>1)
- *thread=ret;
- else
- __thread_cleanup(td);
- }
- else
- (*(__errno_location()))=EAGAIN;
-
- if (ret<2) return -1;
- return ret;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_detach.c b/mdk-stage1/dietlibc/libpthread/pthread_detach.c
deleted file mode 100644
index c07280389..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_detach.c
+++ /dev/null
@@ -1,36 +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) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
- thread = __get_thread_struct(j);
-
- if (thread==0) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
-
- if (thread->detached) {
- (*(__errno_location()))=EINVAL;
- return -1;
- }
-
- if (!thread->joined) {
- thread->detached=1;
- }
-
- return 0;
-}
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_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_join.c b/mdk-stage1/dietlibc/libpthread/pthread_join.c
deleted file mode 100644
index 5b295bad1..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_join.c
+++ /dev/null
@@ -1,50 +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) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
-
- thread = __get_thread_struct(j);
-
- /* error handling */
- if (thread==0) {
- (*(__errno_location()))=ESRCH;
- return -1;
- }
-
- if (this==thread) {
- (*(__errno_location()))=EDEADLK;
- return -1;
- }
-
- if (thread->detached || thread->joined) {
- (*(__errno_location()))=EINVAL;
- return -1;
- }
-
- thread->joined=this;
- this->join=1;
-
- while(this->join) __thread_wait_some_time();
-
- if (thread_return) *thread_return=this->retval;
-
- return 0;
-}
-
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 44fccea6a..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_key_create.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#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(struct _thread_key));
- *key=i;
- ret=0;
- break;
- }
- }
-
- __pthread_unlock(&__thread_keys_lock);
- __NO_ASYNC_CANCEL_END;
-
- if (ret) (*__errno_location())=EAGAIN;
- return ret;
-}
-
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 b1bc366e2..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_key_delete.c
+++ /dev/null
@@ -1,21 +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) {
- (*__errno_location())=EINVAL;
- return -1;
- }
-
- __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 33a16abd4..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_destroy.c
+++ /dev/null
@@ -1,16 +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)) {
- (*(__errno_location()))=EBUSY;
- return -1;
- }
- 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 b1797fb20..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_init.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <unistd.h>
-#include <errno.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 0c3ade9e8..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_lock.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_lock(pthread_mutex_t *mutex)
-{
- _pthread_descr this;
-
- __THREAD_INIT();
-
- this = __thread_self();
-
- if (this!=mutex->owner) {
- /* wait for mutex to free */
- __pthread_lock(&(mutex->lock));
-
- mutex->owner=this;
- }
- else if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP)
- {
- (*(__errno_location()))=EDEADLK;
- return -1;
- }
-
- if (mutex->kind==PTHREAD_MUTEX_RECURSIVE_NP) ++(mutex->count);
-
- 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 fcf63f75e..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_trylock.c
+++ /dev/null
@@ -1,36 +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))) {
- (*(__errno_location()))=EBUSY;
- return -1;
- }
-
- mutex->owner=this;
- }
- else if (mutex->kind==PTHREAD_MUTEX_ERRORCHECK_NP)
- {
- (*(__errno_location()))=EDEADLK;
- return -1;
- }
-
- 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 0b5a1d0f7..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutex_unlock.c
+++ /dev/null
@@ -1,34 +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)
- {
- (*(__errno_location()))=EPERM;
- return -1;
- }
-
- 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 ac600f8ed..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_mutexattr_setkind_np.c
+++ /dev/null
@@ -1,18 +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;
- }
- (*(__errno_location()))=EINVAL;
- return -1;
-}
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 b906492fb..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setcancelstate.c
+++ /dev/null
@@ -1,25 +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;
- }
-
- (*(__errno_location()))=EINVAL;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c b/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c
deleted file mode 100644
index 03d1f53de..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setcanceltype.c
+++ /dev/null
@@ -1,25 +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;
- }
-
- (*(__errno_location()))=EINVAL;
- return -1;
-}
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c b/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c
deleted file mode 100644
index 78339c20b..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_setspecific.c
+++ /dev/null
@@ -1,21 +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;
- }
- (*__errno_location())=EINVAL;
- return -1;
-}
-
diff --git a/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c b/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c
deleted file mode 100644
index 449782adf..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_spinlock.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <time.h>
-#include <pthread.h>
-#include "thread_internal.h"
-
-static void __pthread_acquire(int * spinlock)
-{
- int cnt = 0;
- struct timespec tm;
-
- while (__testandset(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;
- }
- }
-}
-
-void __pthread_lock(struct _pthread_fastlock * lock)
-{
- __pthread_acquire(&lock->__spinlock);
-}
-
-int __pthread_trylock(struct _pthread_fastlock * lock)
-{
- return __testandset(&lock->__spinlock);
-}
-
-int __pthread_unlock(struct _pthread_fastlock * lock)
-{
- return (lock->__spinlock = 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 9f7d23d79..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_alloc.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.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;
-}
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 99210a488..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_fcntl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-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_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 6070ad219..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_logging.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include <unistd.h>
-#include <stdarg.h>
-
-#include <pthread.h>
-#include "thread_internal.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 513f6a323..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_open.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.h"
-
-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 1ac33adfc..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_tcdrain.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.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 76d5ddca7..000000000
--- a/mdk-stage1/dietlibc/libpthread/pthread_sys_waitpid.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <unistd.h>
-
-#include <pthread.h>
-#include "thread_internal.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 68f91e743..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->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.c b/mdk-stage1/dietlibc/libpthread/thread_internal.c
deleted file mode 100644
index a93806203..000000000
--- a/mdk-stage1/dietlibc/libpthread/thread_internal.c
+++ /dev/null
@@ -1,344 +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 = {0};
-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 = {0};
-static struct _pthread_fastlock __manager_thread_data_lock = {1};
-static struct _pthread_fastlock __manager_thread_data_go_lock = {1};
-
-//#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) {
- threads[i].pid=1; /* mark as taken */
- ret = threads+i;
- 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 a thread struct */
-void __thread_cleanup(_pthread_descr th)
-{
- /* lib provided stack should be freed */
- if (th->stack_begin) free(th->stack_begin);
-
- /* an other thread has joined this on */
- if (th->joined) {
- th->joined->retval=th->retval;
- th->joined->join=0;
- th->joined=0;
- }
- th->pid=0; /* mark struct as free */
-}
-
-/* SIGHUP handler (thread cnacel) 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) { 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
-
- 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
-
- /* wake joined thread and put retval */
- if (td->joined) {
- td->joined->retval=td->retval;
- td->joined->join=0;
- td->joined=0;
- }
-
- /* 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) {
- __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()<0) __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();
-#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);
- threads[1].stack_addr=&__manager_thread_stack[sizeof(__manager_thread_stack)];
- 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/thread_internal.h b/mdk-stage1/dietlibc/libpthread/thread_internal.h
deleted file mode 100644
index 5eb3bbd08..000000000
--- a/mdk-stage1/dietlibc/libpthread/thread_internal.h
+++ /dev/null
@@ -1,131 +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
-
-/* cleanup */
-#define PTHREAD_MAX_CLEANUP 8
-struct thread_cleanup_t {
- void (*func)(void*);
- void *arg;
-};
-
-/* the thread descriptor / internal */
-struct _pthread_descr_struct {
- /* runtime handling */
- struct _pthread_descr_struct *joined; /* a joined thread or NULL */
-
- /* 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 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 join; /* thread waits for other to return */
- 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 *manager_lock;
-
- /* 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();
-_pthread_descr __thread_self();
-
-void __thread_cleanup(_pthread_descr th);
-
-void __thread_wait_some_time();
-
-#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();
-#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_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_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/libpthread/thread_key.c b/mdk-stage1/dietlibc/libpthread/thread_key.c
deleted file mode 100644
index b0f719fc9..000000000
--- a/mdk-stage1/dietlibc/libpthread/thread_key.c
+++ /dev/null
@@ -1,41 +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)
-{
- int i;
-
- __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;
-
- __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/libregex/rx.c b/mdk-stage1/dietlibc/libregex/rx.c
deleted file mode 100644
index b28358c2e..000000000
--- a/mdk-stage1/dietlibc/libregex/rx.c
+++ /dev/null
@@ -1,434 +0,0 @@
-#include <regex.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <string.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 { 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(*x));
-}
-
-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?*t:tolower(*t));
- if (t[1]=='-' && t[2]!=']') {
- for (i=*t+1; i<=t[2]; ++i) setcc(b->cc,rx->cflags&REG_ICASE?i:tolower(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 char*__restrict__ s,int ofs,struct __regex_t*__restrict__ preg,int plus,int eflags) {
- register struct atom* a=(struct atom*)x;
- int matchlen=0;
- switch (a->type) {
- case EMPTY:
-// printf("matching EMPTY against \"%s\"\n",s);
- preg->l[a->bnum].rm_so=preg->l[a->bnum].rm_eo=ofs;
- goto match;
- case REGEX:
-// printf("matching REGEX against \"%s\"\n",s);
- if ((matchlen=a->u.r.m(a,s,ofs,preg,0,eflags))>=0) {
- preg->l[a->bnum].rm_so=ofs;
- preg->l[a->bnum].rm_eo=ofs+matchlen;
- goto match;
- }
- break;
- case BRACKET:
-// printf("matching BRACKET against \"%s\"\n",s);
- 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:
-// printf("matching ANY against \"%s\"\n",s);
- if (*s=='\n' && (preg->cflags&REG_NEWLINE)) break;
- matchlen=1;
- if (*s) goto match;
- break;
- case LINESTART:
-// printf("matching LINESTART against \"%s\"\n",s);
- if (ofs==0 && (eflags&REG_NOTBOL)==0) {
- goto match;
- }
- break;
- case LINEEND:
-// printf("matching LINEEND against \"%s\"\n",s);
- if ((*s && *s!='\n') || (eflags&REG_NOTEOL)==0) break;
- goto match;
- case WORDSTART:
- if ((ofs==0 || isspace(s[-1])) && !isspace(*s))
- goto match;
- break;
- case WORDEND:
- if (ofs>0 && !isspace(s[-1]) && isspace(*s))
- goto match;
- break;
- case CHAR:
-// printf("matching CHAR %c against \"%s\"\n",a->u.c,s);
- 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=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?*s:tolower(*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,num=0;
- unsigned int *offsets=alloca(sizeof(int)*a->max);
- offsets[0]=0;
-// 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;
- 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 (;;) {
- 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 */
- 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;
- 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;
- 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;
- }
- if (!(b->p=realloc(b->p,++b->num*sizeof(p)))) return s;
- b->p[b->num-1]=p;
- if (*s=='|') { ++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;
- for (i=0; i<a->num; ++i) {
- 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;
- for (;;) {
- tmp=parsebranch(&b,s,p,&r->pieces);
- if (tmp==s) return s;
- if (!(r->b=realloc(r->b,++r->num*sizeof(b)))) return s;
- r->b[r->num-1]=b;
- s=tmp;
- }
- 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,next);
-}
-
-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)
- 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=parseregex(&preg->r,regex,preg);
- if (t==regex) return -1;
- regex_putnext(&preg->r,0);
- preg->cflags=cflags;
- 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;
- ((regex_t*)preg)->l=alloca(sizeof(regmatch_t)*(preg->brackets+1));
- while (*string) {
- matched=preg->r.m((void*)&preg->r,string,string-orig,(regex_t*)preg,0,eflags);
- if (matched>=0) {
- if ((preg->cflags&REG_NOSUB)==0) memmove(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 7a4dffe87..000000000
--- a/mdk-stage1/dietlibc/librpc/auth_none.c
+++ /dev/null
@@ -1,128 +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
-
-/*
- * Authenticator operations routines
- */
-static void authnone_verf();
-static void authnone_destroy();
-static bool_t authnone_marshal();
-static bool_t authnone_validate();
-static bool_t authnone_refresh();
-
-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];
- u_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,
- (u_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 5daeb5f4a..000000000
--- a/mdk-stage1/dietlibc/librpc/auth_unix.c
+++ /dev/null
@@ -1,313 +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 */
- u_long au_shfaults; /* short hand cache faults */
- char au_marshed[MAX_AUTH_BYTES];
- u_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 = (caddr_t) 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 = (u_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((u_int) len);
-#else
- if ((au->au_origcred.oa_base = mem_alloc((u_int) len)) == NULL) {
- (void) fprintf(stderr, "authunix_create: out of memory\n");
- return (NULL);
- }
-#endif
- bcopy(mymem, au->au_origcred.oa_base, (u_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((caddr_t) 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 ddcadb808..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, (caddr_t *) & (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 8b65261dd..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>
-
-/*
- * 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;
- extern int errno;
- int i;
-
-#define STARTPORT 600
-#define ENDPORT (IPPORT_RESERVED - 1)
-#define NPORTS (ENDPORT - STARTPORT + 1)
-
- if (sin == (struct sockaddr_in *) 0) {
- sin = &myaddr;
- bzero(sin, 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 9bb81cc80..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 u_long prog,
- const u_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__
- bzero((char *) &sin, sizeof(sin));
-#endif
- sin.sin_family = h->h_addrtype;
- sin.sin_port = 0;
-#ifndef __linux__
- bzero(sin.sin_zero, sizeof(sin.sin_zero));
-#endif
- bcopy(h->h_addr, (char *) &sin.sin_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 7479b55d6..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_raw.c
+++ /dev/null
@@ -1,230 +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];
- u_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
-};
-
-void svc_getreq();
-
-/*
- * Create a client handle for memory based rpc.
- */
-CLIENT *clntraw_create(prog, vers)
-u_long prog;
-u_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;
-u_long proc;
-xdrproc_t xargs;
-caddr_t argsp;
-xdrproc_t xresults;
-caddr_t 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;
-caddr_t 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 f309f86ff..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 u_long prognum,
- const u_long versnum, const u_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;
- bcopy(hp->h_addr, (char *) &server_addr.sin_addr, hp->h_length);
- server_addr.sin_family = AF_INET;
- server_addr.sin_port = 0;
- if ((crp->client = clntudp_create(&server_addr, (u_long) prognum,
- (u_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 8c39e8933..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_tcp.c
+++ /dev/null
@@ -1,463 +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>
-
-#define MCALL_MSG_SIZE 24
-
-extern int errno;
-
-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 */
- u_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;
-u_long prog;
-u_long vers;
-register int *sockp;
-u_int sendsz;
-u_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) {
- u_short port;
-
- if ((port = pmap_getport(raddr, prog, vers, IPPROTO_TCP)) == 0) {
- mem_free((caddr_t) ct, sizeof(struct ct_data));
-
- mem_free((caddr_t) 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;
- (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,
- (caddr_t) ct, readtcp, writetcp);
- h->cl_ops = &tcp_ops;
- h->cl_private = (caddr_t) ct;
- h->cl_auth = authnone_create();
- return (h);
-
- fooy:
- /*
- * Something goofed, free stuff and barf
- */
- mem_free((caddr_t) ct, sizeof(struct ct_data));
-
- mem_free((caddr_t) 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;
-u_long proc;
-xdrproc_t xdr_args;
-caddr_t args_ptr;
-xdrproc_t xdr_results;
-caddr_t 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;
- u_long x_id;
- u_long *msg_x_id = (u_long *) (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 (reply_msg.rm_xid == 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;
-caddr_t 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((caddr_t) ct, sizeof(struct ct_data));
-
- mem_free((caddr_t) 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;
-caddr_t 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;
-caddr_t 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 7305d3ff1..000000000
--- a/mdk-stage1/dietlibc/librpc/clnt_udp.c
+++ /dev/null
@@ -1,437 +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>
-
-extern int errno;
-
-/*
- * 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;
- u_int cu_xdrpos;
- u_int cu_sendsz;
- char *cu_outbuf;
- u_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;
-u_long program;
-u_long version;
-struct timeval wait;
-register int *sockp;
-u_int sendsz;
-u_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) {
- u_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 = (caddr_t) 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((caddr_t) cu, sizeof(*cu) + sendsz + recvsz);
- if (cl)
- mem_free((caddr_t) cl, sizeof(CLIENT));
- return ((CLIENT *) NULL);
-}
-
-CLIENT *clntudp_create(raddr, program, version, wait, sockp)
-struct sockaddr_in *raddr;
-u_long program;
-u_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 */
-u_long proc; /* procedure number */
-xdrproc_t xargs; /* xdr routine for args */
-caddr_t argsp; /* pointer to args */
-xdrproc_t xresults; /* xdr routine for results */
-caddr_t 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
- */
- (*(u_short *) (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 < sizeof(u_long))
- continue;
- /* see if reply transaction id matches sent id */
- if (*((u_long *) (cu->cu_inbuf)) != *((u_long *) (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, (u_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;
-caddr_t 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((caddr_t) cu, (sizeof(*cu) + cu->cu_sendsz + cu->cu_recvsz));
- mem_free((caddr_t) 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 cd63383d0..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;
- bcopy((char *) hp->h_addr, (char *) &addr->sin_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 5e7f694d2..000000000
--- a/mdk-stage1/dietlibc/librpc/getrpcent.c
+++ /dev/null
@@ -1,274 +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>
-
-/*
- * 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();
-struct hostent *gethostent();
-char *inet_ntoa();
-
-#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, int len)
-{
- register struct rpcdata *d = _rpcdata();
- char *p;
- register char *cp, **q;
-
- if (d == 0)
- return 0;
- strncpy(d->line, val, 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 a7085cbe7..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, u_long prognum,
- u_long versnum, u_int proto)
-{
- struct sockaddr_in addr;
- struct hostent *hp;
-
- if ((hp = gethostbyname(host)) == NULL)
- return (0);
- bcopy(hp->h_addr, (char *) &addr.sin_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 428675656..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_clnt.c
+++ /dev/null
@@ -1,118 +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 };
-
-void clnt_perror();
-
-
-/*
- * 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)
-u_long program;
-u_long version;
-int protocol;
-u_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, (caddr_t)&parms, (xdrproc_t)xdr_bool, (caddr_t)&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)
-u_long program;
-u_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, (caddr_t)&parms, (xdrproc_t)xdr_bool, (caddr_t)&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 6940783fb..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_getmaps.c
+++ /dev/null
@@ -1,85 +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 <net/if.h>
-#include <sys/ioctl.h>
-#define NAMELEN 255
-#define MAX_BROADCAST_SIZE 1400
-#include <unistd.h>
-
-extern int errno;
-
-/*
- * 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,
- (caddr_t)&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 174dca41a..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_getport.c
+++ /dev/null
@@ -1,90 +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.
- */
-u_short pmap_getport(address, program, version, protocol)
-struct sockaddr_in *address;
-u_long program;
-u_long version;
-u_int protocol;
-{
- u_short port = 0;
- int socket = -1;
- register CLIENT *client;
- struct pmap parms;
-
- address->sin_port = htons(PMAPPORT);
- 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, (caddr_t)&parms,
- (xdrproc_t)xdr_u_short, (caddr_t)&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 870c844ed..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, (caddr_t *) rp,
- (u_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 02efcf91c..000000000
--- a/mdk-stage1/dietlibc/librpc/pmap_rmt.c
+++ /dev/null
@@ -1,403 +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>
-#define MAX_BROADCAST_SIZE 1400
-#include <unistd.h>
-#include <string.h>
-
-extern int errno;
-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(addr, prog, vers, proc, xdrargs, argsp, xdrres, resp, tout,
- port_ptr)
-struct sockaddr_in *addr;
-u_long prog, vers, proc;
-xdrproc_t xdrargs, xdrres;
-caddr_t argsp, resp;
-struct timeval tout;
-u_long *port_ptr;
-{
- int socket = -1;
- register CLIENT *client;
- struct rmtcallargs a;
- struct rmtcallres r;
- enum clnt_stat stat;
-
- addr->sin_port = htons(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, (caddr_t)&a,
- (xdrproc_t)xdr_rmtcallres, (caddr_t)&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)
-{
- u_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 = (u_long) position - (u_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)
-{
- caddr_t port_ptr;
-
- port_ptr = (caddr_t) crp->port_ptr;
- if (xdr_reference(xdrs, &port_ptr, sizeof(u_long),
- (xdrproc_t)xdr_u_long) && xdr_u_long(xdrs, &crp->resultslen)) {
- crp->port_ptr = (u_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)
-u_long prog; /* program number */
-u_long vers; /* version number */
-u_long proc; /* procedure number */
-xdrproc_t xargs; /* xdr routine for args */
-caddr_t argsp; /* pointer to args */
-xdrproc_t xresults; /* xdr routine for results */
-caddr_t 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 u_long xid;
- u_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);
- bzero((char *) &baddr, sizeof(baddr));
- baddr.sin_family = AF_INET;
- baddr.sin_port = htons(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, 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 = (caddr_t) & 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 (inlen < sizeof(u_long))
- goto recv_again;
- /*
- * see if reply transaction id matches sent id.
- * If so, decode the results.
- */
- xdrmem_create(xdrs, inbuf, (u_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((u_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 4b3a9880e..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) {
- bcopy(oa->oa_base, (caddr_t) buf, 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) {
- bcopy(oa->oa_base, (caddr_t) buf, 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 = (caddr_t)
- 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 {
- bcopy((caddr_t) buf, oa->oa_base, 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 = (caddr_t)
- 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 {
- bcopy((caddr_t) buf, oa->oa_base, 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 19a4db27f..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, (caddr_t) 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),
- (caddr_t) & (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 4fcdb5216..000000000
--- a/mdk-stage1/dietlibc/librpc/svc.c
+++ /dev/null
@@ -1,479 +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>
-#ifdef __linux__
-#include <sys/types.h>
-#endif
-
-extern int errno;
-
-#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;
- u_long sc_prog;
- u_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;
-u_long prog;
-u_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)
-u_long prog;
-u_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, (u_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)
-u_long prog;
-u_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;
-caddr_t 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;
-u_long low_vers;
-u_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;
- u_long low_vers;
- u_long high_vers;
- struct svc_req r;
- register SVCXPRT *xprt;
- register u_long mask;
- register int bit;
- register u_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 = (u_long *) readfds;
-#else
- maskp = (u_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 7e0305f0a..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;
- u_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 = (u_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;
- }
- bcopy((caddr_t) buf, aup->aup_machname, (u_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 c13ea5e06..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_raw.c
+++ /dev/null
@@ -1,159 +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;
-caddr_t 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;
-caddr_t 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 c7150e357..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>
-
-void svc_run()
-{
-#ifdef FD_SETSIZE
- fd_set readfds;
-#else
- int readfds;
-#endif /* def FD_SETSIZE */
- extern int errno;
-
- 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 0bb9a19eb..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((u_long) prognum, (u_long) versnum);
- if (!svc_register(transp, (u_long) prognum, (u_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 */
- bzero(xdrbuf, 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 6edafa1b1..000000000
--- a/mdk-stage1/dietlibc/librpc/svc_tcp.c
+++ /dev/null
@@ -1,406 +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>
-
-/*
- * 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 = {
- svctcp_recv,
- svctcp_stat,
- svctcp_getargs,
- svctcp_reply,
- svctcp_freeargs,
- svctcp_destroy
-};
-
-/*
- * 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 */
- u_int sendsize;
- u_int recvsize;
-};
-
-struct tcp_conn { /* kept in xprt->xp_p1 */
- enum xprt_stat strm_stat;
- u_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;
-u_int sendsize;
-u_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;
- }
- bzero((char *) &addr, 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 = (caddr_t) 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;
-u_int sendsize;
-u_int recvsize;
-{
-
- return (makefd_xprt(fd, sendsize, recvsize));
-}
-
-static SVCXPRT *makefd_xprt(fd, sendsize, recvsize)
-int fd;
-u_int sendsize;
-u_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,
- (caddr_t) xprt, readtcp, writetcp);
- xprt->xp_p2 = NULL;
- xprt->xp_p1 = (caddr_t) 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((caddr_t) cd, sizeof(struct tcp_conn));
-
- mem_free((caddr_t) 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;
-caddr_t 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;
-caddr_t 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;
-caddr_t 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;
-caddr_t 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);
-}
diff --git a/mdk-stage1/dietlibc/librpc/svc_udp.c b/mdk-stage1/dietlibc/librpc/svc_udp.c
deleted file mode 100644
index 1cdb5ce91..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>
-
-
-#define rpc_buffer(xprt) ((xprt)->xp_p1)
-#define MAX(a, b) ((a > b) ? a : b)
-
-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 = {
- svcudp_recv,
- svcudp_stat,
- svcudp_getargs,
- svcudp_reply,
- svcudp_freeargs,
- svcudp_destroy
-};
-
-extern int errno;
-
-/*
- * kept in xprt->xp_p2
- */
-struct svcudp_data {
- u_int su_iosz; /* byte size of send.recv buffer */
- u_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, u_long* replylenp);
-static void cache_set(SVCXPRT* xprt, u_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;
-u_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;
- }
- bzero((char *) &addr, 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 = (caddr_t) 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;
- u_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(u_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, (u_long) slen);
- }
- }
- }
- return (stat);
-}
-
-static bool_t svcudp_getargs(xprt, xdr_args, args_ptr)
-SVCXPRT *xprt;
-xdrproc_t xdr_args;
-caddr_t 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;
-caddr_t 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((caddr_t) su, sizeof(struct svcudp_data));
-
- mem_free((caddr_t) 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) \
- bzero((char *) addr, 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
- */
- u_long cache_xid;
- u_long cache_proc;
- u_long cache_vers;
- u_long cache_prog;
- struct sockaddr_in cache_addr;
- /*
- * The cached reply and length
- */
- char *cache_reply;
- u_long cache_replylen;
- /*
- * Next node on the list, if there is a collision
- */
- cache_ptr cache_next;
-};
-
-
-
-/*
- * The entire cache
- */
-struct udp_cache {
- u_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 */
- u_long uc_nextvictim; /* points to next victim in fifo list */
- u_long uc_prog; /* saved program number */
- u_long uc_vers; /* saved version number */
- u_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, u_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, u_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;
- u_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, u_long* replylenp)
-{
- u_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) (bcmp((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);
-}
diff --git a/mdk-stage1/dietlibc/librpc/xdr.c b/mdk-stage1/dietlibc/librpc/xdr.c
deleted file mode 100644
index 864b47dea..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr.c
+++ /dev/null
@@ -1,536 +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 ((u_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; */
- /* caddr_t addr; */
-{
-
- return (TRUE);
-}
-
-/*
- * XDR integers
- */
-bool_t xdr_int(XDR* xdrs, int* ip)
-{
-
-#ifdef lint
- (void) (xdr_short(xdrs, (short *) ip));
- return (xdr_long(xdrs, (long *) ip));
-#else
- if (sizeof(int) == sizeof(long)) {
- return (xdr_long(xdrs, (long *) ip));
- } else {
- return (xdr_short(xdrs, (short *) ip));
- }
-#endif
-}
-
-/*
- * XDR unsigned integers
- */
-bool_t xdr_u_int(XDR* xdrs, unsigned int* up)
-{
-
-#ifdef lint
- (void) (xdr_short(xdrs, (short *) up));
- return (xdr_u_long(xdrs, (u_long *) up));
-#else
- if (sizeof(u_int) == sizeof(u_long)) {
- return (xdr_u_long(xdrs, (u_long *) up));
- } else {
- return (xdr_short(xdrs, (short *) up));
- }
-#endif
-}
-
-/*
- * 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)
- 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)
- return (XDR_GETLONG(xdrs, (long *) ulp));
- if (xdrs->x_op == XDR_ENCODE)
- 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)
-{
- u_long l;
-
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- l = (u_long) * usp;
- return (XDR_PUTLONG(xdrs, &l));
-
- case XDR_DECODE:
- if (!XDR_GETLONG(xdrs, &l)) {
- return (FALSE);
- }
- *usp = (u_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)
-{
- u_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;
-{
-#ifndef lint
- 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(short)) {
- return (xdr_short(xdrs, (short *) ep));
- } else {
- return (FALSE);
- }
-#else
- (void) (xdr_short(xdrs, (short *) ep));
- return (xdr_long(xdrs, (long *) ep));
-#endif
-}
-
-/*
- * 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;
-caddr_t cp;
-register u_int cnt;
-{
- register u_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 u_int *sizep;
-u_int maxsize;
-{
- register char *sp = *cpp; /* sp is the actual string pointer */
- register u_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;
-u_int maxsize;
-{
- register char *sp = *cpp; /* sp is the actual string pointer */
- u_int size;
- u_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 f8ae12b19..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_array.c
+++ /dev/null
@@ -1,152 +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 ((u_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;
-caddr_t *addrp; /* array pointer */
-u_int *sizep; /* number of elements */
-u_int maxsize; /* max numberof elements */
-u_int elsize; /* size in bytes of each element */
-xdrproc_t elproc; /* xdr routine to handle each element */
-{
- register u_int i;
- register caddr_t target = *addrp;
- register u_int c; /* the actual element count */
- register bool_t stat = TRUE;
- register u_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);
- }
- nodesize = c * elsize;
-
- /*
- * 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);
- }
- bzero(target, 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 u_int nelem;
-register u_int elemsize;
-register xdrproc_t xdr_elem;
-{
- register u_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 755f6abf1..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_mem.c
+++ /dev/null
@@ -1,180 +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>
-
-static bool_t xdrmem_getlong();
-static bool_t xdrmem_putlong();
-static bool_t xdrmem_getbytes();
-static bool_t xdrmem_putbytes();
-static u_int xdrmem_getpos();
-static bool_t xdrmem_setpos();
-static int32_t *xdrmem_inline();
-static void xdrmem_destroy();
-
-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(xdrs, addr, size, op)
-register XDR *xdrs;
-caddr_t addr;
-u_int size;
-enum xdr_op op;
-{
-
- xdrs->x_op = op;
- xdrs->x_ops = &xdrmem_ops;
- xdrs->x_private = xdrs->x_base = addr;
- xdrs->x_handy = size;
-}
-
-static void xdrmem_destroy( /*xdrs */ )
- /*XDR *xdrs; */
-{
-}
-
-static bool_t xdrmem_getlong(xdrs, lp)
-register XDR *xdrs;
-long *lp;
-{
-
- if ((xdrs->x_handy -= sizeof(long)) < 0)
- return (FALSE);
-
- *lp = (long) ntohl((u_long) (*((long *) (xdrs->x_private))));
- xdrs->x_private += sizeof(long);
-
- return (TRUE);
-}
-
-static bool_t xdrmem_putlong(xdrs, lp)
-register XDR *xdrs;
-long *lp;
-{
-
- if ((xdrs->x_handy -= sizeof(long)) < 0)
- return (FALSE);
-
- *(long *) xdrs->x_private = (long) htonl((u_long) (*lp));
- xdrs->x_private += sizeof(long);
-
- return (TRUE);
-}
-
-static bool_t xdrmem_getbytes(xdrs, addr, len)
-register XDR *xdrs;
-caddr_t addr;
-register u_int len;
-{
-
- if ((xdrs->x_handy -= len) < 0)
- return (FALSE);
- bcopy(xdrs->x_private, addr, len);
- xdrs->x_private += len;
- return (TRUE);
-}
-
-static bool_t xdrmem_putbytes(xdrs, addr, len)
-register XDR *xdrs;
-caddr_t addr;
-register u_int len;
-{
-
- if ((xdrs->x_handy -= len) < 0)
- return (FALSE);
- bcopy(addr, xdrs->x_private, len);
- xdrs->x_private += len;
- return (TRUE);
-}
-
-static u_int xdrmem_getpos(xdrs)
-register XDR *xdrs;
-{
-
- return ((u_int) xdrs->x_private - (u_int) xdrs->x_base);
-}
-
-static bool_t xdrmem_setpos(xdrs, pos)
-register XDR *xdrs;
-u_int pos;
-{
- register caddr_t newaddr = xdrs->x_base + pos;
- register caddr_t lastaddr = xdrs->x_private + xdrs->x_handy;
-
- if ((long) newaddr > (long) lastaddr)
- return (FALSE);
- xdrs->x_private = newaddr;
- xdrs->x_handy = (int) lastaddr - (int) newaddr;
- return (TRUE);
-}
-
-static int32_t *xdrmem_inline(xdrs, len)
-register XDR *xdrs;
-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 83e800f5e..000000000
--- a/mdk-stage1/dietlibc/librpc/xdr_rec.c
+++ /dev/null
@@ -1,573 +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(u_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>
-
-extern long lseek();
-
-static u_int fix_buf_size();
-
-static bool_t xdrrec_getlong();
-static bool_t xdrrec_putlong();
-static bool_t xdrrec_getbytes();
-static bool_t xdrrec_putbytes();
-static u_int xdrrec_getpos();
-static bool_t xdrrec_setpos();
-static int32_t *xdrrec_inline();
-static void xdrrec_destroy();
-
-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 ((u_long)(1 << 31))
-
-typedef struct rec_strm {
- caddr_t tcp_handle;
- caddr_t the_buffer;
- /*
- * out-goung bits
- */
- int (*writeit) ();
- caddr_t out_base; /* output buffer (points to frag header) */
- caddr_t out_finger; /* next output position */
- caddr_t out_boundry; /* data cannot up to this address */
- u_long *frag_header; /* beginning of curren fragment */
- bool_t frag_sent; /* true if buffer sent in middle of record */
- /*
- * in-coming bits
- */
- int (*readit) ();
- u_long in_size; /* fixed size of the input buffer */
- caddr_t in_base;
- caddr_t in_finger; /* location of next byte to be had */
- caddr_t in_boundry; /* can read up to this location */
- long fbtbc; /* fragment bytes to be consumed */
- bool_t last_frag;
- u_int sendsize;
- u_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(xdrs, sendsize, recvsize, tcp_handle, readit, writeit)
-register XDR *xdrs;
-register u_int sendsize;
-register u_int recvsize;
-caddr_t tcp_handle;
-int (*readit) (); /* like read, but pass it a tcp_handle, not sock */
-int (*writeit) (); /* like write, but pass it a tcp_handle, not sock */
-{
- 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;
- (u_int) 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 = (caddr_t) rstrm;
- rstrm->tcp_handle = tcp_handle;
- rstrm->readit = readit;
- rstrm->writeit = writeit;
- rstrm->out_finger = rstrm->out_boundry = rstrm->out_base;
- rstrm->frag_header = (u_long *) rstrm->out_base;
- rstrm->out_finger += sizeof(u_long);
- 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(xdrs, lp)
-XDR *xdrs;
-long *lp;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register long *buflp = (long *) (rstrm->in_finger);
- long mylong;
-
- /* first try the inline, fast case */
- if ((rstrm->fbtbc >= sizeof(long)) &&
- (((int) rstrm->in_boundry - (int) buflp) >= sizeof(long))) {
- *lp = (long) ntohl((u_long) (*buflp));
- rstrm->fbtbc -= sizeof(long);
- rstrm->in_finger += sizeof(long);
- } else {
- if (!xdrrec_getbytes(xdrs, (caddr_t) & mylong, sizeof(long)))
- return (FALSE);
-
- *lp = (long) ntohl((u_long) mylong);
- }
- return (TRUE);
-}
-
-/*
- * Internal useful routines
- */
-static bool_t flush_out(RECSTREAM* rstrm, bool_t eor)
-{
- register u_long eormask = (eor == TRUE) ? LAST_FRAG : 0;
- register u_long len = (u_long) (rstrm->out_finger) -
- (u_long) (rstrm->frag_header) - sizeof(u_long);
-
- *(rstrm->frag_header) = htonl(len | eormask);
- len = (u_long) (rstrm->out_finger) - (u_long) (rstrm->out_base);
- if ((*(rstrm->writeit)) (rstrm->tcp_handle, rstrm->out_base, (int) len)
- != (int) len)
- return (FALSE);
- rstrm->frag_header = (u_long *) rstrm->out_base;
- rstrm->out_finger = (caddr_t) rstrm->out_base + sizeof(u_long);
- return (TRUE);
-}
-
-static bool_t
-/* knows nothing about records! Only about input buffers */
-fill_input_buf(rstrm)
-register RECSTREAM *rstrm;
-{
- register caddr_t where;
- u_int i;
- register int len;
-
- where = rstrm->in_base;
- i = (u_int) 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 caddr_t addr;
-register int len;
-{
- register int current;
-
- while (len > 0) {
- current = (int) rstrm->in_boundry - (int) rstrm->in_finger;
- if (current == 0) {
- if (!fill_input_buf(rstrm))
- return (FALSE);
- continue;
- }
- current = (len < current) ? len : current;
- bcopy(rstrm->in_finger, addr, 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;
-{
- u_long header;
-
- if (!get_input_bytes(rstrm, (caddr_t) & header, sizeof(header)))
- return (FALSE);
- header = (long) ntohl(header);
- rstrm->last_frag = ((header & LAST_FRAG) == 0) ? FALSE : TRUE;
- 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 = (int) rstrm->in_boundry - (int) 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 u_int fix_buf_size(s)
-register u_int s;
-{
-
- if (s < 100)
- s = 4000;
- return (RNDUP(s));
-}
-static bool_t xdrrec_putlong(xdrs, lp)
-XDR *xdrs;
-long *lp;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register long *dest_lp = ((long *) (rstrm->out_finger));
-
- if ((rstrm->out_finger += sizeof(long)) > rstrm->out_boundry) {
- /*
- * this case should almost never happen so the code is
- * inefficient
- */
- rstrm->out_finger -= sizeof(long);
-
- rstrm->frag_sent = TRUE;
- if (!flush_out(rstrm, FALSE))
- return (FALSE);
- dest_lp = ((long *) (rstrm->out_finger));
- rstrm->out_finger += sizeof(long);
- }
- *dest_lp = (long) htonl((u_long) (*lp));
- return (TRUE);
-}
-
-static bool_t
-/* must manage buffers, fragments, and records */
-xdrrec_getbytes(xdrs, addr, len)
-XDR *xdrs;
-register caddr_t addr;
-register u_int len;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register 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(xdrs, addr, len)
-XDR *xdrs;
-register caddr_t addr;
-register u_int len;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) (xdrs->x_private);
- register int current;
-
- while (len > 0) {
- current = (u_int) rstrm->out_boundry - (u_int) rstrm->out_finger;
- current = (len < current) ? len : current;
- bcopy(addr, rstrm->out_finger, 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 u_int xdrrec_getpos(xdrs)
-register XDR *xdrs;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
- register long pos;
-
- pos = lseek((int) 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 = (u_int) - 1;
- break;
- }
- return ((u_int) pos);
-}
-
-static bool_t xdrrec_setpos(xdrs, pos)
-register XDR *xdrs;
-u_int pos;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
- u_int currpos = xdrrec_getpos(xdrs);
- int delta = currpos - pos;
- caddr_t newpos;
-
- if ((int) currpos != -1)
- switch (xdrs->x_op) {
-
- case XDR_ENCODE:
- newpos = rstrm->out_finger - delta;
- if ((newpos > (caddr_t) (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(xdrs, len)
-register XDR *xdrs;
-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(xdrs)
-register XDR *xdrs;
-{
- register RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private;
-
- mem_free(rstrm->the_buffer,
- rstrm->sendsize + rstrm->recvsize + BYTES_PER_XDR_UNIT);
- mem_free((caddr_t) 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 u_long len; /* fragment length */
-
- if (sendnow || rstrm->frag_sent ||
- ((u_long) rstrm->out_finger + sizeof(u_long) >=
- (u_long) rstrm->out_boundry)) {
- rstrm->frag_sent = FALSE;
- return (flush_out(rstrm, TRUE));
- }
- len = (u_long) (rstrm->out_finger) - (u_long) (rstrm->frag_header) -
- sizeof(u_long);
- *(rstrm->frag_header) = htonl((u_long) len | LAST_FRAG);
- rstrm->frag_header = (u_long *) rstrm->out_finger;
- rstrm->out_finger += sizeof(u_long);
- 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 7715d821c..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 ((u_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;
-caddr_t *pp; /* the pointer to work on */
-u_int size; /* size of the object pointed to */
-xdrproc_t proc; /* xdr routine to handle the object */
-{
- register caddr_t loc = *pp;
- register bool_t stat;
-
- if (loc == NULL)
- switch (xdrs->x_op) {
- case XDR_FREE:
- return (TRUE);
-
- case XDR_DECODE:
- *pp = loc = (caddr_t) mem_alloc(size);
- if (loc == NULL) {
- (void) fprintf(stderr, "xdr_reference: out of memory\n");
- return (FALSE);
- }
- bzero(loc, (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;
-u_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 e3190e0a9..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 u_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 = (caddr_t) 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((caddr_t) 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((caddr_t) lp, sizeof(long), 1, (FILE *) xdrs->x_private) !=
- 1) return (FALSE);
-
- return (TRUE);
-}
-
-static bool_t xdrstdio_getbytes(xdrs, addr, len)
-XDR *xdrs;
-caddr_t addr;
-u_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;
-caddr_t addr;
-u_int len;
-{
-
- if ((len != 0)
- && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1))
- return (FALSE);
- return (TRUE);
-}
-
-static u_int xdrstdio_getpos(xdrs)
-XDR *xdrs;
-{
-
- return ((u_int) ftell((FILE *) xdrs->x_private));
-}
-
-static bool_t xdrstdio_setpos(xdrs, pos)
-XDR *xdrs;
-u_int pos;
-{
-
- return ((fseek((FILE *) xdrs->x_private, (long) pos, 0) < 0) ?
- FALSE : TRUE);
-}
-
-static int32_t *xdrstdio_inline(xdrs, len)
-XDR *xdrs;
-u_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/fnmatch.c b/mdk-stage1/dietlibc/libshell/fnmatch.c
deleted file mode 100644
index 4e7664510..000000000
--- a/mdk-stage1/dietlibc/libshell/fnmatch.c
+++ /dev/null
@@ -1,74 +0,0 @@
-#include <ctype.h>
-#include <fnmatch.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) {
- 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 1;
- /* don't match if FNM_PERIOD and FNM_FILE_NAME and previous was '/' */
- if ((flags&(FNM_FILE_NAME|FNM_PERIOD)) && string[-1]=='/')
- return 1;
- }
- flags|=NOTFIRST;
- switch (*pattern) {
- case '[':
- ++pattern;
- while (*pattern && *pattern!=']') {
- if (flags&FNM_PATHNAME || *string!='/') {
- 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;
- }
- } else
- res=match(*pattern,*string,flags);
- if (res) {
- while (*pattern && *pattern!=']') ++pattern;
- return fnmatch(pattern+1,string+1,flags);
- }
- }
- ++pattern;
- }
- 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 (!pattern[1] || fnmatch(pattern+1,string,flags)==0)
- return 0;
- else
- if (*string!='/')
- return fnmatch(pattern,string+1,flags);
- break;
- 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 1;
-}
diff --git a/mdk-stage1/dietlibc/libshell/glob.c b/mdk-stage1/dietlibc/libshell/glob.c
deleted file mode 100644
index 34d09d87a..000000000
--- a/mdk-stage1/dietlibc/libshell/glob.c
+++ /dev/null
@@ -1,350 +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 <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 strcmp(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 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;
-
- void close_dir_keep_errno(void) {
- int save = errno;
- if (dp)
- closedir (dp);
- __set_errno(save);
- }
- int add_entry(const char * name) {
- 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;
- }
- void build_fullname(char * fullname, int fullnamesize, const char * directory, const char * filename) {
- if (!strcmp(directory, "/"))
- snprintf(fullname, fullnamesize, "/%s", filename);
- else if (!strcmp(directory, "."))
- snprintf(fullname, fullnamesize, "%s", filename);
- else
- snprintf(fullname, fullnamesize, "%s/%s", directory, filename);
- }
-
- 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, i, 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))
- goto memory_error;
- }
- }
-
- close_dir_keep_errno();
-
- 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, i, directory, pattern);
- if (add_entry(ptr))
- 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();
- 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) {
- __set_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 = ".";
- } else if (filename == pattern_) {
- /* "/pattern". */
- dirname = "/";
- 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]) + 1 + strlen(filename) + 1;
- if ((pglob->gl_pathv[j] = malloc(k)) == NULL) {
- globfree(&dirs);
- globfree(pglob);
- return GLOB_NOSPACE;
- }
- snprintf(pglob->gl_pathv[j], k, "%s/%s", 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 1377018e5..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="";
- if (chdir(path)) {
-#ifdef WANT_THREAD_SAFE
- if (*__errno_location()==ENOTDIR)
-#else
- if (errno==ENOTDIR)
-#endif
- {
- if ((tmp=strrchr(path,'/'))) {
- memmove(resolved_path,path,tmp-path);
- resolved_path[tmp-path]=0;
- if (chdir(resolved_path)) { 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 6958a48e7..000000000
--- a/mdk-stage1/dietlibc/libstdio/fclose.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include "dietstdio.h"
-#include <stdlib.h>
-#include <unistd.h>
-
-int fclose(FILE *stream) {
- int res;
-#ifdef WANT_BUFFERED_STDIO
- FILE *f,*fl;
-#endif
- fflush(stream);
- res=close(stream->fd);
-#ifdef WANT_BUFFERED_STDIO
- 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;
- }
-#endif
- 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 1c3918f1f..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdglue.c
+++ /dev/null
@@ -1,52 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <stdlib.h>
-
-#ifdef WANT_BUFFERED_STDIO
-extern int __stdio_atexit;
-extern void __stdio_flushall();
-#endif
-
-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;
- }
-}
-
-FILE* __stdio_init_file(int fd) {
- FILE *tmp=(FILE*)malloc(sizeof(FILE));
- if (!tmp) {
- close(fd);
- errno=ENOMEM;
- return 0;
- }
- tmp->fd=fd;
-#ifdef WANT_BUFFERED_STDIO
- tmp->bm=0;
- tmp->bs=0;
-#endif
-#ifdef WANT_UNGETC
- tmp->ungotten = 0;
-#endif
- tmp->flags=0;
-#ifdef WANT_BUFFERED_STDIO
- if (__stdio_atexit==0) {
- __stdio_atexit=1;
- atexit(__stdio_flushall);
- }
- tmp->next=__stdio_root;
- __stdio_root=tmp;
-#endif
- return tmp;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fdopen.c b/mdk-stage1/dietlibc/libstdio/fdopen.c
deleted file mode 100644
index aee14fb0c..000000000
--- a/mdk-stage1/dietlibc/libstdio/fdopen.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <sys/types.h>
-#include <dietstdio.h>
-#include <unistd.h>
-
-#define SEEK_END 2
-
-int __stdio_parse_mode(const char *mode);
-FILE* __stdio_init_file(int fd);
-
-FILE *fdopen (int filedes, const char *mode) {
- int f=0; /* O_RDONLY, O_WRONLY or O_RDWR */
- int fd;
-
- f=__stdio_parse_mode(mode);
- if ((fd=filedes)<0) return 0;
- {
- FILE * ret = __stdio_init_file(fd);
- ret->flags |= UNSEEKABLE;
- return ret;
- }
-}
diff --git a/mdk-stage1/dietlibc/libstdio/feof.c b/mdk-stage1/dietlibc/libstdio/feof.c
deleted file mode 100644
index b7e86fe3b..000000000
--- a/mdk-stage1/dietlibc/libstdio/feof.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <dietstdio.h>
-
-int feof(FILE *stream) {
-#ifdef WANT_UNGETC
- /* yuck!!! */
- if (stream->ungotten) return 0;
-#endif
- 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 7078e04f4..000000000
--- a/mdk-stage1/dietlibc/libstdio/fflush.c
+++ /dev/null
@@ -1,62 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietwarning.h"
-
-FILE *__stdio_root;
-
-#ifdef WANT_BUFFERED_STDIO
-int __stdio_atexit=0;
-
-void __stdio_flushall() {
- fflush(0);
-}
-
-extern int __fflush_stdin();
-extern int __fflush_stdout();
-extern int __fflush_stderr();
-
-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&BUFINPUT) {
- register int tmp;
- if ((tmp=stream->bm-stream->bs)) lseek(stream->fd,tmp,SEEK_CUR);
- } else
- if (stream->bm && write(stream->fd,stream->buf,stream->bm)!=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;
- }
- return 0;
-}
-
-#else
-int fflush(FILE *stream) {
- return 0;
-}
-#endif
-
-link_warning("fflush","warning: your code uses stdio (several kilobytes of bloat).")
diff --git a/mdk-stage1/dietlibc/libstdio/fgetc.c b/mdk-stage1/dietlibc/libstdio/fgetc.c
deleted file mode 100644
index 90d83961a..000000000
--- a/mdk-stage1/dietlibc/libstdio/fgetc.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-
-extern int feof(FILE *stream);
-
-int fgetc(FILE *stream) {
- unsigned char c;
-#ifdef WANT_UNGETC
- if (stream->ungotten) {
- stream->ungotten=0;
- return stream->ungetbuf;
- }
-#endif
- if (feof(stream))
- return EOF;
-#ifdef WANT_BUFFERED_STDIO
- if (__fflush4(stream,BUFINPUT)) return EOF;
- if (stream->bm>=stream->bs) {
- int len=read(stream->fd,stream->buf,BUFSIZE);
- 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;
-#else
- if (read(stream->fd,&c,1)!=1) {
- stream->flags|=ERRORINDICATOR;
- return EOF;
- }
- return c;
-#endif
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fgets.c b/mdk-stage1/dietlibc/libstdio/fgets.c
deleted file mode 100644
index c613d452d..000000000
--- a/mdk-stage1/dietlibc/libstdio/fgets.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "dietstdio.h"
-
-extern int ferror(FILE *stream);
-
-char *fgets(char *s, int size, FILE *stream) {
- char *orig=s;
- int l;
- for (l=size; l>0;) {
- 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 aac17be42..000000000
--- a/mdk-stage1/dietlibc/libstdio/fopen.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <sys/types.h>
-#include <dietstdio.h>
-#include <unistd.h>
-
-#define SEEK_END 2
-
-extern int __stdio_atexit;
-extern void __stdio_flushall();
-
-extern int __stdio_parse_mode(const char *mode);
-extern FILE* __stdio_init_file(int fd);
-
-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);
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fprintf.c b/mdk-stage1/dietlibc/libstdio/fprintf.c
deleted file mode 100644
index 237fd1e51..000000000
--- a/mdk-stage1/dietlibc/libstdio/fprintf.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-extern int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int fprintf(FILE *f,const char *format,...) {
- int n;
- char *printf_buf;
-/* char printf_buf[1024]; */
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsnprintf(0,1000000,format,arg_ptr);
-/* write(1,printf_buf,strlen(printf_buf)); */
- va_end (arg_ptr);
- va_start (arg_ptr, format);
- printf_buf=alloca(n+2);
- n=vsnprintf(printf_buf,n+1,format,arg_ptr);
- va_end (arg_ptr);
- fwrite(printf_buf,n,1,f);
- return n;
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fputc.c b/mdk-stage1/dietlibc/libstdio/fputc.c
deleted file mode 100644
index b816f7c4d..000000000
--- a/mdk-stage1/dietlibc/libstdio/fputc.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <dietstdio.h>
-#ifndef WANT_BUFFERED_STDIO
-#include <unistd.h>
-#endif
-
-int fputc(int c, FILE *stream) {
-#ifdef WANT_BUFFERED_STDIO
- if (__fflush4(stream,0)) return EOF;
- if (stream->bm>=BUFSIZE-1)
- if (fflush(stream)) return EOF;
- stream->buf[stream->bm]=c;
- ++stream->bm;
- if ((stream->flags&BUFLINEWISE) && c=='\n') /* puke */
- if (fflush(stream)) return EOF;
-#else
- write(stream->fd,&c,1);
-#endif
- return 0;
-}
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 29afa1489..000000000
--- a/mdk-stage1/dietlibc/libstdio/fread.c
+++ /dev/null
@@ -1,51 +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;
-#ifdef WANT_BUFFERED_STDIO
- unsigned long i,j;
- j=size*nmemb;
-#ifdef WANT_UNGETC
- if (stream->ungotten) {
- *(char*)ptr=stream->ungetbuf;
- ptr=((char*)ptr)+1;
- --j;
- }
- if (!j) return 1;
-#endif
- for (i=0; i<j; ++i) {
- res=fgetc(stream);
- if (res==EOF)
- return i/size;
- else
- ((unsigned char*)ptr)[i]=(unsigned char)res;
- }
- return nmemb;
-#else
-#ifdef WANT_UNGETC
- unsigned long j=size*nmemb;
-#endif
- fflush(stream);
-#ifdef WANT_UNGETC
- if (stream->ungotten) {
- *(char*)ptr=stream->ungetbuf;
- ptr=((char*)ptr)+1;
- --j;
- }
- if (!j) return 1;
- res=read(stream->fd,ptr,j);
-#else
- res=read(stream->fd,ptr,size*nmemb);
-#endif
- if (res<0) {
- stream->flags|=ERRORINDICATOR;
- return 0;
- } else if (res<size*nmemb)
- if (!(stream->flags & UNSEEKABLE)
- || ((stream->flags & UNSEEKABLE) && res == 0))
- stream->flags|=EOFINDICATOR;
- return res/size;
-#endif
-}
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/fseek.c b/mdk-stage1/dietlibc/libstdio/fseek.c
deleted file mode 100644
index 5bb96bc6e..000000000
--- a/mdk-stage1/dietlibc/libstdio/fseek.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <dietstdio.h>
-#include <unistd.h>
-
-long fseek(FILE *stream, long offset, int whence) {
- fflush(stream);
-#ifdef WANT_BUFFERED_STDIO
- stream->bm=0; stream->bs=0;
-#endif
- stream->flags&=~(ERRORINDICATOR|EOFINDICATOR);
- return (lseek(stream->fd,offset,whence));
-}
diff --git a/mdk-stage1/dietlibc/libstdio/ftell.c b/mdk-stage1/dietlibc/libstdio/ftell.c
deleted file mode 100644
index 42d2c9f26..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));
-}
diff --git a/mdk-stage1/dietlibc/libstdio/fwrite.c b/mdk-stage1/dietlibc/libstdio/fwrite.c
deleted file mode 100644
index 5691661a5..000000000
--- a/mdk-stage1/dietlibc/libstdio/fwrite.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <sys/types.h>
-#include "dietstdio.h"
-#include <unistd.h>
-
-size_t fwrite( const void *ptr, size_t size, size_t nmemb, FILE *stream) {
- int res;
-#ifdef WANT_BUFFERED_STDIO
- long len=size*nmemb;
- long i;
- if (len>BUFSIZE || (stream->flags&NOBUF)) {
- if (!(stream->flags&NOBUF)) fflush(stream);
- res=write(stream->fd,ptr,size*nmemb);
- } else {
- register const unsigned char *c=ptr;
- for (i=size*nmemb; i>0; --i,++c)
- if (fputc(*c,stream)) {
- res=-1;
- break;
- }
- res=size*nmemb;
- }
-#else
- res=write(stream->fd,ptr,size*nmemb);
-#endif
- if (res<0) {
- stream->flags|=ERRORINDICATOR;
- return 0;
- }
- 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 571420dc3..000000000
--- a/mdk-stage1/dietlibc/libstdio/printf.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include "dietstdio.h"
-
-int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-int printf(const char *format,...)
-{
- int n;
- char *printf_buf;
-/* char printf_buf[1024]; */
- va_list arg_ptr;
- va_start(arg_ptr, format);
- n=vsnprintf(0,1000000,format,arg_ptr);
-/* write(1,printf_buf,strlen(printf_buf)); */
- va_end (arg_ptr);
- va_start (arg_ptr, format);
- printf_buf=alloca(n+2);
- n=vsnprintf(printf_buf,n+1,format,arg_ptr);
-#ifdef WANT_BUFFERED_STDIO
- fwrite(printf_buf,n,1,stdout);
-#else
- write(1,printf_buf,n);
-#endif
- 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/setvbuf.c b/mdk-stage1/dietlibc/libstdio/setvbuf.c
deleted file mode 100644
index d0b1b7640..000000000
--- a/mdk-stage1/dietlibc/libstdio/setvbuf.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <sys/types.h>
-#include "dietstdio.h"
-#include <unistd.h>
-#include "dietwarning.h"
-
-int setvbuf(FILE *stream, char *buf, int flags , size_t size) {
-#ifdef WANT_BUFFERED_STDIO
- switch (flags) {
- case _IONBF: stream->flags = (stream->flags & ~(BUFLINEWISE)) | NOBUF; break;
- case _IOLBF: stream->flags = (stream->flags & ~(BUFLINEWISE|NOBUF)) | BUFLINEWISE; break;
- case _IOFBF: stream->flags = stream->flags & ~(NOBUF | BUFLINEWISE); break;
- default: return -1;
- }
-#endif
- return 0;
-}
-
-link_warning("setvbuf","setvbuf does not implement changing the buffer in diet libc.")
diff --git a/mdk-stage1/dietlibc/libstdio/stderr.c b/mdk-stage1/dietlibc/libstdio/stderr.c
deleted file mode 100644
index a82b1b727..000000000
--- a/mdk-stage1/dietlibc/libstdio/stderr.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <dietstdio.h>
-
-#ifdef WANT_BUFFERED_STDIO
-static FILE __stderr = { 2, NOBUF, 0, 0 };
-
-int __fflush_stderr() {
- return fflush(stderr);
-}
-#else
-static FILE __stderr = { 2, 0 };
-#endif
-
-FILE *stderr=&__stderr;
diff --git a/mdk-stage1/dietlibc/libstdio/stdin.c b/mdk-stage1/dietlibc/libstdio/stdin.c
deleted file mode 100644
index 2db82f9ab..000000000
--- a/mdk-stage1/dietlibc/libstdio/stdin.c
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <dietstdio.h>
-
-#ifdef WANT_BUFFERED_STDIO
-static FILE __stdin = { 0, BUFINPUT, 0, 0 };
-
-int __fflush_stdin() {
- return fflush(stdin);
-}
-#else
-static FILE __stdin = { 0, 0 };
-#endif
-
-FILE *stdin=&__stdin;
diff --git a/mdk-stage1/dietlibc/libstdio/stdout.c b/mdk-stage1/dietlibc/libstdio/stdout.c
deleted file mode 100644
index 481fb1014..000000000
--- a/mdk-stage1/dietlibc/libstdio/stdout.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <dietstdio.h>
-
-#ifdef WANT_BUFFERED_STDIO
-static FILE __stdout = { 1, BUFLINEWISE, 0, 0 };
-
-int __fflush_stdout() {
- return fflush(stdout);
-}
-#else
-static FILE __stdout = { 1, 0 };
-#endif
-
-FILE *stdout=&__stdout;
-
diff --git a/mdk-stage1/dietlibc/libstdio/ungetc.c b/mdk-stage1/dietlibc/libstdio/ungetc.c
deleted file mode 100644
index ae03e9381..000000000
--- a/mdk-stage1/dietlibc/libstdio/ungetc.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "dietstdio.h"
-
-#ifdef WANT_UNGETC
-int ungetc(int c, FILE *stream) {
- if (stream->ungotten)
- return EOF;
- stream->ungotten=1;
- stream->ungetbuf=(char)(unsigned char)c;
- return c;
-}
-#endif
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 46325927c..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 d10c20b4a..000000000
--- a/mdk-stage1/dietlibc/libugly/asprintf.c
+++ /dev/null
@@ -1,22 +0,0 @@
-#include <stdarg.h>
-#include <linux/types.h>
-#include <stdlib.h>
-#include "dietwarning.h"
-
-extern int vsnprintf (char *str,size_t size,const char *format, va_list arg_ptr);
-
-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_end (arg_ptr);
- va_start (arg_ptr, format);
- if ((*s=malloc(n+2))) {
- n=vsnprintf(*s,n+1,format,arg_ptr);
- va_end(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/daemon.c b/mdk-stage1/dietlibc/libugly/daemon.c
deleted file mode 100644
index 6748cc3c9..000000000
--- a/mdk-stage1/dietlibc/libugly/daemon.c
+++ /dev/null
@@ -1,35 +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);
- close (fd);
- }
- return (0);
-}
-
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/getmntent.c b/mdk-stage1/dietlibc/libugly/getmntent.c
deleted file mode 100644
index 250a77b7f..000000000
--- a/mdk-stage1/dietlibc/libugly/getmntent.c
+++ /dev/null
@@ -1,30 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <mntent.h>
-#include <string.h>
-
-struct mntent *getmntent(FILE *filep) {
- static struct mntent m;
- char buf[1024];
- do {
- char *tmp=buf;
- int num;
- fgets(buf,1024,filep);
-/* "/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!=' ') continue; break;
- case 5: m.mnt_passno=strtol(tmp,&tmp,0); if (*tmp=='\n') return &m; break;
- }
- if ((tmp=strchr(tmp,' '))) {
- if (num<4) *tmp++=0;
- while (*tmp==' ') ++tmp;
- } else
- continue;
- }
- } while (1);
-}
diff --git a/mdk-stage1/dietlibc/libugly/getprotoent.c b/mdk-stage1/dietlibc/libugly/getprotoent.c
deleted file mode 100644
index a648e2307..000000000
--- a/mdk-stage1/dietlibc/libugly/getprotoent.c
+++ /dev/null
@@ -1,130 +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>
-
-static int protofd=-1;
-static char* protomap;
-static unsigned int protolen;
-
-static char* aliases[10];
-
-static char *cur;
-
-/* ip 0 IP # internet protocol, pseudo protocol number */
-struct protoent *getprotoent(void) {
- static struct protoent pe;
- char *last;
- int aliasidx;
- if (protofd<0) {
- protofd=open(_PATH_SERVICES,O_RDONLY);
- if (protofd<0) return 0;
- protolen=lseek(protofd,0,SEEK_END);
- protomap=mmap(0,protolen,PROT_READ|PROT_WRITE,MAP_PRIVATE,protofd,0);
- if ((long)protomap==(-1)) goto error;
- cur=protomap;
- }
- last=protomap+protolen;
-again:
- pe.p_name=0;
- pe.p_aliases=aliases; aliases[0]=0;
- pe.p_proto=0;
- if (cur>=last) return 0;
- if (*cur=='#' || *cur=='\n') goto parseerror;
- /* first, the primary name */
- if (!isalpha(*cur)) goto parseerror;
- pe.p_name=cur;
- pe.p_aliases=aliases;
- while (cur<last && isalnum(*cur)) cur++;
- if (cur>=last) return 0;
- if (*cur=='\n') goto parseerror;
- *cur=0; cur++;
- /* second, the protocol number */
- while (cur<last && isblank(*cur)) cur++;
- while (cur<last && isdigit(*cur)) {
- pe.p_proto=pe.p_proto*10+*cur-'0';
- cur++;
- }
-/* pe.p_proto=htons(pe.s_proto); */
- if (cur>=last) return 0;
- if (*cur=='\n') { *cur++=0; return &pe; }
- *cur=0; cur++;
- /* 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 &pe;
-parseerror:
- while (cur<last && *cur!='\n') cur++;
- cur++;
- goto again;
-error:
- if (protomap!=(char*)-1) munmap(protomap,protolen);
- if (protofd!=-1) close(protofd);
- protomap=(char*)-1;
- protofd=-1;
- errno=ENOMEM;
- return 0;
-}
-
-void setprotoent(int stayopen) {
- cur=protomap;
-}
-
-struct protoent *getprotobyname(const char *name) {
- struct protoent *s;
- setprotoent(0);
- for (s=getprotoent(); s; s=getprotoent()) {
- char **tmp;
-#if 0
- write(1,"found ",6);
- write(1,s->p_name,strlen(s->p_name));
- write(1,"/",1);
- write(1,s->p_proto,strlen(s->p_proto));
- write(1,"\n",1);
- if (!strcmp(name,"auth")) {
- tmp=s->p_aliases;
- write(1," aka ",5);
- while (*tmp) {
- write(1,*tmp,strlen(*tmp));
- write(1,", ",2);
- ++tmp;
- }
- write(1,"\n",1);
- }
-#endif
- if (!strcmp(name,s->p_name))
- return s;
- tmp=s->p_aliases;
- while (*tmp)
- if (!strcmp(name,*tmp++)) return s;
- }
- return 0;
-}
-
-struct protoent *getprotobynumber(int proto) {
- struct protoent *s;
- for (s=getprotoent(); s; s=getprotoent()) {
- if (proto==s->p_proto)
- return s;
- }
- return 0;
-}
-
-void endprotoent(void) {
- if (protomap!=(char*)-1) munmap(protomap,protolen);
- if (protofd!=-1) close(protofd);
- protomap=(char*)-1;
- protofd=-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 c102d10fa..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 unsigned int __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/isleap.c b/mdk-stage1/dietlibc/libugly/isleap.c
deleted file mode 100644
index dcfa1ced6..000000000
--- a/mdk-stage1/dietlibc/libugly/isleap.c
+++ /dev/null
@@ -1,6 +0,0 @@
-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 d4bc073ce..000000000
--- a/mdk-stage1/dietlibc/libugly/localtime_r.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "dietfeatures.h"
-#include <time.h>
-#include <sys/time.h>
-
-#ifdef WANT_TZFILE_PARSER
-extern void __maplocaltime();
-extern time_t __tzfile_map(time_t t, int *isdst);
-#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);
- tmp=*t-tz.tz_minuteswest*60L;
-#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 69c2c2337..000000000
--- a/mdk-stage1/dietlibc/libugly/logging.c
+++ /dev/null
@@ -1,211 +0,0 @@
-#include "dietfeatures.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdarg.h>
-#include <errno.h>
-#include <unistd.h>
-#include <asm/socket.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 512 /* messagebuffer size (>= 200) */
-
-#define MAX_LOGTAG 80
-
-/* 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 closelog(void)
-{
- closelog_intern();
-
- LogTag[0]=0;
- LogType = SOCK_DGRAM;
-}
-
-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) {
-#ifdef WANT_THREAD_SAFE
- int old_errno = (*(__errno_location()));
-#else
- int old_errno=errno;
-#endif
- if(connect(LogFile, &SyslogAddr, sizeof(SyslogAddr)) == -1) {
-#ifdef WANT_THREAD_SAFE
- int saved_errno = (*(__errno_location()));
-#else
- int saved_errno=errno;
-#endif
- close(LogFile);
- LogFile = -1;
- if((LogType == SOCK_DGRAM) && (saved_errno == EPROTOTYPE)) {
- /* retry with SOCK_STREAM instead of SOCK_DGRAM */
- LogType = SOCK_STREAM;
-#ifdef WANT_THREAD_SAFE
- (*(__errno_location()))=old_errno;
-#else
- errno=old_errno;
-#endif
- continue;
- }
- }
- else connected = 1;
- }
- break;
- }
-}
-
-/* has to be secured against multiple, simultanious call's in threaded environment */
-void openlog(const char *ident, int option, int facility)
-{
- if (ident) {
- strncpy(LogTag,ident,MAX_LOGTAG);
- LogTag[MAX_LOGTAG-1]=0;
- }
- openlog_intern(option, facility);
-}
-
-int setlogmask(int mask)
-{
- int old = LogMask;
- if (mask) LogMask = mask;
- return old;
-}
-
-void 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;
-#ifdef WANT_THREAD_SAFE
- int saved_errno = (*(__errno_location()));
-#else
- int saved_errno = errno;
-#endif
-
- /* 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 {
-#ifdef WANT_THREAD_SAFE
- (*(__errno_location()))=saved_errno;
-#else
- errno=saved_errno;
-#endif
- 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 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 ee4dab6c1..000000000
--- a/mdk-stage1/dietlibc/libugly/mktime.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <time.h>
-
-/* seconds per day */
-#define SPD 24*60*60
-
-extern unsigned int __spm[];
-
-time_t mktime(struct tm *t) {
- time_t x=0;
- unsigned int i;
- if (t->tm_year<70) return (time_t)(-1);
- for (i=70; i<t->tm_year; ++i) {
- x+=__isleap(i+1900)?366:365;
- }
- t->tm_yday=__spm[t->tm_mon] + t->tm_mday-1 + ((t->tm_mon>2) && __isleap(t->tm_year)?1:0);
- x+=t->tm_yday;
- /* x is now the number of days since Jan 1 1970 */
- t->tm_wday=(4+x)%7;
- x = x*SPD + t->tm_hour*60*60 + t->tm_min*60 + t->tm_sec;
- return x;
-}
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 e0e441495..000000000
--- a/mdk-stage1/dietlibc/libugly/popen.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include "dietstdio.h"
-#include <unistd.h>
-
-extern char **environ;
-
-FILE *popen(const char *command, const char *type) {
- int pfd[2];
- int fd0;
- pid_t pid;
- if (pipe(pfd)<0) return 0;
- fd0=(*type=='r');
- if ((pid=vfork())<0) {
- close(pfd[0]);
- close(pfd[1]);
- return 0;
- }
- if (!pid) { /* child */
- char *argv[]={"sh","-c",0,0};
- close(pfd[!fd0]); close(fd0);
- dup2(pfd[fd0],fd0); close(pfd[fd0]);
- argv[2]=(char*)command;
- execve("/bin/sh",argv,environ);
- _exit(255);
- }
- close(pfd[fd0]);
- {
- register FILE* f;
- if ((f=fdopen(pfd[!fd0],type)))
- 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/setenv.c b/mdk-stage1/dietlibc/libugly/setenv.c
deleted file mode 100644
index bf47cdb79..000000000
--- a/mdk-stage1/dietlibc/libugly/setenv.c
+++ /dev/null
@@ -1,17 +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) {
- char *c=malloc(strlen(name)+strlen(value)+3);
- if (getenv(name)) {
- if (!overwrite) return 0;
- unsetenv(name);
- }
- 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 b7e750ab1..000000000
--- a/mdk-stage1/dietlibc/libugly/strftime.c
+++ /dev/null
@@ -1,182 +0,0 @@
-#include <sys/types.h>
-#include <time.h>
-
-static char *sweekdays[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
-static char *weekdays[]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
-static char *smonths[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
-static char *months[]={"January","February","March","April","May","June","July","August","September","October","November","December"};
-static char *ampm[]={"am","pm","AM","PM"};
-
-static int i2a(char* dest,unsigned int x) {
- register unsigned int tmp=x;
- register int len=0;
- *dest++=tmp/10+'0'; tmp=tmp%10; ++len;
- *dest++=tmp+'0';
- return 2;
-}
-
-static int i2as(char* dest,unsigned int x) {
- int len=i2a(dest,x);
- if (*dest=='0') *dest=' ';
- return len;
-}
-
-size_t strftime(char *s, size_t max, const char *format, const struct tm *tm) {
- char *t=s;
- const char *src;
- char buf[5];
- while (*format) {
- switch (*format) {
- case 0: break;
- case '%':
- switch (*++format) {
- case '%': *t='%'; ++t; break;
- case 'a': src=sweekdays[tm->tm_wday]; goto append;
- case 'A': src=weekdays[tm->tm_wday]; goto append;
- case 'h':
- case 'b': src=smonths[tm->tm_mon]; goto append;
- case 'B': src=months[tm->tm_mon]; goto append;
- case 'c': t+=strftime(t,max-(t-s),"%b %a %d %k:%M:%S %Z %Y",tm); break;
- case 'C': buf[i2a(buf,(tm->tm_year+1900)/100)]=0; src=buf; goto append;
- case 'd': buf[i2a(buf,tm->tm_mday)]=0; src=buf; goto append;
- case 'e': buf[i2as(buf,tm->tm_mday)]=0; src=buf; goto append;
- case 'H': buf[i2a(buf,tm->tm_hour)]=0; src=buf; goto append;
- case 'I': buf[i2a(buf,tm->tm_hour%12)]=0; src=buf; goto append;
- case 'j': buf[i2a(buf,tm->tm_yday)]=0; src=buf; goto append;
- case 'k': buf[i2as(buf,tm->tm_hour)]=0; src=buf; goto append;
- case 'l': buf[i2as(buf,tm->tm_hour%12)]=0; src=buf; goto append;
- case 'm': buf[i2a(buf,tm->tm_mon+1)]=0; src=buf; goto append;
- case 'M': buf[i2a(buf,tm->tm_min)]=0; src=buf; goto append;
- case 'n': *t='\n'; break;
- case 'p': src=ampm[tm->tm_hour>11?3:2]; goto append;
- case 'P': src=ampm[tm->tm_hour>11?1:0]; goto append;
- case 'r': t+=strftime(t,max-(t-s),"%I:%M:%S %p",tm); break;
- case 'R': t+=strftime(t,max-(t-s),"%H:%M",tm); break;
- case 'S': buf[i2a(buf,tm->tm_sec)]=0; src=buf; goto append;
- case 't': *t='\t'; break;
- case 'T': t+=strftime(t,max-(t-s),"%H:%M:%S",tm); break;
- case 'u': buf[i2a(buf,tm->tm_wday?tm->tm_wday:7)]=0; src=buf; goto append;
- case 'w': buf[i2a(buf,tm->tm_wday)]=0; src=buf; goto append;
- case 'x': t+=strftime(t,max-(t-s),"%b %a %d",tm); break;
- case 'X': t+=strftime(t,max-(t-s),"%k:%M:%S",tm); break;
- case 'y': buf[i2a(buf,tm->tm_year%100)]=0; src=buf; goto append;
- case 'Y': i2a(buf,(tm->tm_year+1900)/100); buf[i2a(buf+2,(tm->tm_year%100))+2]=0; src=buf; goto append;
- case 'Z': src="GMT"; goto append; /* hehe */
-append:
- while (*src && t<s+max) { *t=*src; ++t; ++src; }
- };
- break;
- default:
- *t=*format; ++t;
- }
- ++format;
- if (t>=s+max) break;
- continue;
- }
- *t=0; return t-s;
-}
-
-
-
-/*
- %u The day of the week as a decimal, range 1 to 7,
- Monday being 1. See also %w. (SU)
-
- %U The week number of the current year as a decimal
- number, range 00 to 53, starting with the first
- Sunday as the first day of week 01. See also %V and
- %W.
-
- %V The ISO 8601:1988 week number of the current year
- as a decimal number, range 01 to 53, where week 1
- is the first week that has at least 4 days in the
- current year, and with Monday as the first day of
- the week. See also %U and %W. (SU)
-
- %w The day of the week as a decimal, range 0 to 6,
- Sunday being 0. See also %u.
-
- %W The week number of the current year as a decimal
- number, range 00 to 53, starting with the first
- Monday as the first day of week 01.
-
- %x The preferred date representation for the current
- locale without the time.
-
- %X The preferred time representation for the current
- locale without the date.
-
- %y The year as a decimal number without a century
- (range 00 to 99).
-
- %Y The year as a decimal number including the century.
-
- %z The time-zone as hour offset from GMT. Required to
- emit RFC822-conformant dates (using "%a, %d %b %Y
- %H:%M:%S %z"). (GNU)
-
- %Z The time zone or name or abbreviation.
-
- %+ The date and time in date(1) format. (TZ)
-
- %% A literal `%' character.
-
- Some conversion specifiers can be modified by preceding
- them by the E or O modifier to indicate that an alterna­
- tive format should be used. If the alternative format or
- specification does not exist for the current locale, the
- behaviour will be as if the unmodified conversion specifi­
- cation were used. (SU) The Single Unix Specification men­
- tions %Ec, %EC, %Ex, %EX, %Ry, %EY, %Od, %Oe, %OH, %OI,
- %Om, %OM, %OS, %Ou, %OU, %OV, %Ow, %OW, %Oy, where the
- effect of the O modifier is to use alternative numeric
- symbols (say, roman numerals), and that of the E modifier
-
-
-
-GNU 29 March 1999 3
-
-
-
-
-
-STRFTIME(3) Linux Programmer's Manual STRFTIME(3)
-
-
- is to use a locale-dependent alternative representation.
-
- The broken-down time structure tm is defined in <time.h>.
- See also ctime(3).
-
-
-RETURN VALUE
- The strftime() function returns the number of characters
- placed in the array s, not including the terminating NUL
- character, provided the string, including the terminating
- NUL, fits. Otherwise, it returns 0, and the contents of
- the array is undefined. (Thus at least since libc 4.4.4;
- very old versions of libc, such as libc 4.4.1, would
- return max if the array was too small.)
-
- Note that the return value 0 does not necessarily indicate
- an error; for example, in many locales %p yields an empty
- string.
-
-ENVIRONMENT
- The environment variables TZ and LC_TIME are used.
-
-CONFORMING TO
- ANSI C, SVID 3, ISO 9899. There are strict inclusions
- between the set of conversions given in ANSI C (unmarked),
- those given in the Single Unix Specification (marked SU),
- those given in Olson's timezone package (marked TZ), and
- those given in glibc (marked GNU), except that %+ is not
- supported in glibc2. On the other hand glibc2 has several
- more extensions. POSIX.1 only refers to ANSI C; POSIX.2
- describes under date(1) several extensions that could
- apply to strftime as well.
-
-SEE ALSO
- date(1), time(2), ctime(3), setlocale(3), sprintf(3)
-
-*/
diff --git a/mdk-stage1/dietlibc/libugly/strsignal.c b/mdk-stage1/dietlibc/libugly/strsignal.c
deleted file mode 100644
index 54314d2c7..000000000
--- a/mdk-stage1/dietlibc/libugly/strsignal.c
+++ /dev/null
@@ -1,92 +0,0 @@
-#include <signal.h>
-/* F....ng Kernel haeder is damn broken... */
-#ifndef _NSIG
-#define _NSIG 64
-#endif
-#include <asm/signal.h>
-
-char * strsignal(int sig) {
- if (sig==SIGHUP)
- return "Hangup";
- else if (sig==SIGINT)
- return "Interrupt";
- else if (sig==SIGQUIT)
- return "Quit";
- else if (sig==SIGILL)
- return "Illegal instruction";
- else if (sig==SIGTRAP)
- return "Trace/breakpoint trap";
- else if (sig==SIGABRT)
- return "Aborted";
- else if (sig==SIGFPE)
- return "Floating point exception";
- else if (sig==SIGKILL)
- return "Killed";
- else if (sig==SIGBUS)
- return "Bus error";
- else if (sig==SIGSEGV)
- return "Segmentation fault";
- else if (sig==SIGPIPE)
- return "Broken pipe";
- else if (sig==SIGALRM)
- return "Alarm clock";
- else if (sig==SIGTERM)
- return "Terminated";
- else if (sig==SIGURG)
- return "Urgent I/O condition";
- else if (sig==SIGSTOP)
- return "Stopped (signal)";
- else if (sig==SIGTSTP)
- return "Stopped";
- else if (sig==SIGCONT)
- return "Continue";
- else if (sig==SIGCHLD)
- return "Child exited";
- else if (sig==SIGTTIN)
- return "Stopped (tty input)";
- else if (sig==SIGTTOU)
- return "Stopped (tty output)";
- else if (sig==SIGIO)
- return "I/O possible";
- else if (sig==SIGXCPU)
- return "CPU time limit exceeded";
- else if (sig==SIGXFSZ)
- return "File size limit exceeded";
- else if (sig==SIGVTALRM)
- return "Virtual timer expired";
- else if (sig==SIGPROF)
- return "Profiling timer expired";
- else if (sig==SIGWINCH)
- return "Window changed";
- else if (sig==SIGUSR1)
- return "User defined signal 1";
- else if (sig==SIGUSR2)
- return "User defined signal 1";
-#ifdef SIGEMT
- else if (sig==SIGEMT)
- return "EMT trap";
-#endif
-#ifdef SIGSYS
- else if (sig==SIGSYS)
- return "Bad system call";
-#endif
-#ifdef SIGSTKFLT
- else if (sig==SIGSTKFLT)
- return "Stack fault";
-#endif
-#ifdef SIGINFO
- else if (sig==SIGINFO)
- return "Information request";
-#elif defined(SIGPWR) && (!defined(SIGLOST) || (SIGPWR!=SIGLOST))
- else if (sig==SIGPWR)
- return "Power falure";
-#endif
-#ifdef SIGLOST
- else if (sig==SIGLOST)
- return "Resource lost";
-#endif
- else if ((sig>=SIGRTMIN)&&(sig<=SIGRTMAX))
- return "Real time signal";
- 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 b9eea20eb..000000000
--- a/mdk-stage1/dietlibc/libugly/system.c
+++ /dev/null
@@ -1,69 +0,0 @@
-#include <signal.h>
-#include <asm/errno.h>
-#include <errno.h>
-#include <unistd.h>
-#include "dietwarning.h"
-
-#define SHELL_PATH "/bin/sh" /* Path of the shell. */
-#define SHELL_NAME "sh" /* Name to give it. */
-
-extern char **environ;
-
-int __libc_fork();
-int __libc_waitpid(int pid, int *status, int options);
-int execve(const char*filename, char *const argv[], char *const envp[]);
-void __set_errno(int errno);
-int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
-
-int __libc_system (const char *line)
-{
- struct sigaction sa, intr, quit;
- 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;
- sigaction (SIGINT, &intr, (struct sigaction*)0);
- __set_errno (save);
- return -1;
- }
-
- pid=__libc_fork();
- if (pid>0)
- { /* parent */
- int n;
- do
- n=__libc_waitpid(pid, &ret, 0);
- while ((n==-1) && (errno==EINTR));
- if (n!=pid) ret=-1;
- }
- else if (!pid)
- { /* child */
- const char *nargs[4];
- nargs[0] = SHELL_NAME;
- nargs[1] = "-c";
- nargs[2] = line;
- nargs[3] = 0;
-
- sigaction(SIGINT, &intr, (struct sigaction*)0);
- sigaction(SIGQUIT, &quit, (struct sigaction*)0);
-
- execve(SHELL_PATH,(char *const *)nargs, environ);
- _exit(127);
- }
- save = errno;
- sigaction (SIGINT, &intr, (struct sigaction *)0);
- sigaction (SIGQUIT, &quit, (struct sigaction *)0);
- __set_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 bfe1cf86d..000000000
--- a/mdk-stage1/dietlibc/libugly/time_table_spd.c
+++ /dev/null
@@ -1,17 +0,0 @@
-
-/* seconds per month -- nonleap! */
-const unsigned int __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/tzfile.c b/mdk-stage1/dietlibc/libugly/tzfile.c
deleted file mode 100644
index 5702d4bea..000000000
--- a/mdk-stage1/dietlibc/libugly/tzfile.c
+++ /dev/null
@@ -1,86 +0,0 @@
-#include "dietfeatures.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <netinet/in.h>
-
-#include <stdio.h>
-
-#ifdef WANT_TZFILE_PARSER
-static char *tzfile=0;
-static int tzlen=-1;
-
-void __maplocaltime() {
- 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_SHARED,fd,0))==MAP_FAILED) return;
- close(fd);
- if (ntohl(*(int*)tzfile) != 0x545a6966) return;
- tzlen=len;
-}
-
-char *tzset(void) __attribute__((weak,alias("__maplocaltime")));
-
-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) {
- /* "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");
-#endif
-
- tmp=tzfile+20+6*4;
- for (i=0; i<tzh_timecnt; ++i)
- if ((time_t)__myntohl(tmp+i*4) >= t) {
-/* printf("match at %d\n",i); */
- tmp+=tzh_timecnt*4;
- i=tmp[i-1];
-/* printf("using index %d\n",i); */
- tmp+=tzh_timecnt;
- tmp+=i*6;
-/* printf("(%lu,%d,%d)\n",ntohl(*(int*)tmp),tmp[4],tmp[5]); */
- *isdst=tmp[4];
- return t+__myntohl(tmp);
- }
- return t;
-}
-#else
-void tzset(void) __attribute__((weak,alias("return0")));
-#endif
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/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 a6063fbb2..000000000
--- a/mdk-stage1/dietlibc/ppc/__testandset.S
+++ /dev/null
@@ -1,11 +0,0 @@
-.global __testandset
-.type __testandset,@function
-.align 2
-__testandset:
- lwarx 5,0,3
- add 0,4,5
- stwcx 0,0,3
- bne __testandset
- blr
-.size __testandset,.-__testandset
-
diff --git a/mdk-stage1/dietlibc/ppc/mmap.c b/mdk-stage1/dietlibc/ppc/mmap.c
deleted file mode 100644
index 25d2926b2..000000000
--- a/mdk-stage1/dietlibc/ppc/mmap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <linux/types.h>
-#include <linux/unistd.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)
- : __syscall_clobbers);
- __sc_ret = __sc_3;
- __sc_err = __sc_0;
- }
- __syscall_return (int);
-}
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 c7afeecd2..000000000
--- a/mdk-stage1/dietlibc/ppc/start.S
+++ /dev/null
@@ -1,44 +0,0 @@
-#include "start.h"
-
-#ifdef __powerpc__
-
-.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 enthält den initialen Stackpointer.
- 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 6,environ@ha
- stw 5,environ@l(6)
-
- bl main
- b exit
-.size _start,.-_start
-
-
-/* Define a symbol for the first piece of initialized data. */
- .section ".data"
-__data_start:
-
-
-#endif
-
diff --git a/mdk-stage1/dietlibc/ppc/unified.S b/mdk-stage1/dietlibc/ppc/unified.S
deleted file mode 100644
index d2b419f0b..000000000
--- a/mdk-stage1/dietlibc/ppc/unified.S
+++ /dev/null
@@ -1,21 +0,0 @@
-#include <dietfeatures.h>
-
-.text
-.global __unified_syscall
-__unified_syscall:
- sc
- mfcr 0
- andis. 9,0,4096
- mr 0,3
- beq .L1
-#ifdef WANT_THREAD_SAVE
- bl __set_errno
-#else
- lis 9,errno@ha
- stw 3,errno@l(9)
-#endif
- li 0,-1
-.L1:
- mr 3,0
- blr
-
diff --git a/mdk-stage1/dietlibc/sparc/Makefile.add b/mdk-stage1/dietlibc/sparc/Makefile.add
deleted file mode 100644
index 0de05b1db..000000000
--- a/mdk-stage1/dietlibc/sparc/Makefile.add
+++ /dev/null
@@ -1,3 +0,0 @@
-
-CFLAGS+=-mcpu=supersparc -Os
-VPATH:=sparc:syscalls.s:$(VPATH)
diff --git a/mdk-stage1/dietlibc/sparc/__longjmp.S b/mdk-stage1/dietlibc/sparc/__longjmp.S
deleted file mode 100644
index 72e001a2f..000000000
--- a/mdk-stage1/dietlibc/sparc/__longjmp.S
+++ /dev/null
@@ -1,67 +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
-__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 58b438249..000000000
--- a/mdk-stage1/dietlibc/sparc/clone.S
+++ /dev/null
@@ -1,45 +0,0 @@
-#include <asm/errno.h>
-#include <asm/unistd.h>
-
-.text
-.align 4
-.weak clone
-clone:
-.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/fork.S b/mdk-stage1/dietlibc/sparc/fork.S
deleted file mode 100644
index 869c9b30c..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_SAVE
- 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 25ebdc24e..000000000
--- a/mdk-stage1/dietlibc/sparc/mmap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <linux/types.h>
-#include <linux/unistd.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 820da2570..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_SAVE
- 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 efc5a7013..000000000
--- a/mdk-stage1/dietlibc/sparc/setjmp.S
+++ /dev/null
@@ -1,37 +0,0 @@
-#include <setjmp.h>
-
-#define JB_SP 0
-#define JB_FP 1
-#define JB_PC 2
-
-#define ST_FLUSH_WINDOWS 0x03
-
-.section .rodata
-.text
-.globl __setjmp
-__setjmp:
- b 1f
- set 0, %o1
-.size __setjmp,.-__setjmp
-
-.globl setjmp
-setjmp:
- set 1, %o1
-.size setjmp,.-setjmp
-
-.globl __sigsetjmp
-__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 73b2d89a9..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 <asm/ipc.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/start.S b/mdk-stage1/dietlibc/sparc/start.S
deleted file mode 100644
index e948aaddc..000000000
--- a/mdk-stage1/dietlibc/sparc/start.S
+++ /dev/null
@@ -1,46 +0,0 @@
-#include "start.h"
-
-#ifdef __sparc__
- .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. */
- call main
- mov %g1, %o5
-
- b exit
- mov %o0, %i0
-
- /* Die very horribly if exit returns. */
- unimp
-
- .size _start, .-_start
-#endif
-
diff --git a/mdk-stage1/dietlibc/sparc/udiv.S b/mdk-stage1/dietlibc/sparc/udiv.S
deleted file mode 100644
index 87479e7bd..000000000
--- a/mdk-stage1/dietlibc/sparc/udiv.S
+++ /dev/null
@@ -1,363 +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 LOC(name) . ## L ## name
-
-#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 LOC(got_result) ! (and algorithm fails otherwise)
- clr %o2
- sethi %hi(1 << (32 - 4 - 1)), %g1
- cmp %o3, %g1
- blu LOC(not_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 LOC(not_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 LOC(do_single_div)
- sub %g2, 1, %g2
-
- LOC(not_too_big):
- 3: cmp %o5, %o3
- blu 2b
- nop
- be LOC(do_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...
- LOC(do_single_div):
- subcc %g2, 1, %g2
- bl LOC(end_regular_divide)
- nop
- sub %o3, %o5, %o3
- mov 1, %o2
- b LOC(end_single_divloop)
- nop
- LOC(single_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:
- LOC(end_single_divloop):
- subcc %g2, 1, %g2
- bge LOC(single_divloop)
- tst %o3
- b,a LOC(end_regular_divide)
-
-LOC(not_really_big):
-1:
- sll %o5, 4, %o5
- cmp %o5, %o3
- bleu 1b
- addcc %o4, 1, %o4
- be LOC(got_result)
- sub %o4, 1, %o4
-
- tst %o3 ! set up for initial iteration
-LOC(divloop):
- sll %o2, 4, %o2
- ! depth 1, accumulated bits 0
- bl LOC(1.16)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 2, accumulated bits 1
- bl LOC(2.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits 3
- bl LOC(3.19)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 7
- bl LOC(4.23)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2+1), %o2
-
-LOC(4.23):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2-1), %o2
-
-
-LOC(3.19):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 5
- bl LOC(4.21)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2+1), %o2
-
-LOC(4.21):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2-1), %o2
-
-
-
-LOC(2.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits 1
- bl LOC(3.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 3
- bl LOC(4.19)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2+1), %o2
-
-LOC(4.19):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2-1), %o2
-
-
-LOC(3.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 1
- bl LOC(4.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2+1), %o2
-
-LOC(4.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2-1), %o2
-
-
-
-
-LOC(1.16):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 2, accumulated bits -1
- bl LOC(2.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits -1
- bl LOC(3.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -1
- bl LOC(4.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2+1), %o2
-
-LOC(4.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2-1), %o2
-
-
-LOC(3.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -3
- bl LOC(4.13)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2+1), %o2
-
-LOC(4.13):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2-1), %o2
-
-
-
-LOC(2.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits -3
- bl LOC(3.13)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -5
- bl LOC(4.11)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2+1), %o2
-
-LOC(4.11):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2-1), %o2
-
-
-LOC(3.13):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -7
- bl LOC(4.9)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2+1), %o2
-
-LOC(4.9):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2-1), %o2
-
-
-
-
- 9:
-LOC(end_regular_divide):
- subcc %o4, 1, %o4
- bge LOC(divloop)
- tst %o3
- bl,a LOC(got_result)
- ! non-restoring fixup here (one instruction only!)
- sub %o2, 1, %o2
-
-
-LOC(got_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 15038ab2a..000000000
--- a/mdk-stage1/dietlibc/sparc/umul.S
+++ /dev/null
@@ -1,170 +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 LOC(name) . ## L ## name
-
-#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 LOC(mul_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
-
-LOC(mul_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 3cd609da5..000000000
--- a/mdk-stage1/dietlibc/sparc/unified.S
+++ /dev/null
@@ -1,28 +0,0 @@
-#include <dietfeatures.h>
-
-.text
-.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_SAVE
- 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 943cb7873..000000000
--- a/mdk-stage1/dietlibc/sparc/urem.S
+++ /dev/null
@@ -1,362 +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 LOC(name) . ## L ## name
-
-#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 LOC(got_result) ! (and algorithm fails otherwise)
- clr %o2
- sethi %hi(1 << (32 - 4 - 1)), %g1
- cmp %o3, %g1
- blu LOC(not_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 LOC(not_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 LOC(do_single_div)
- sub %g2, 1, %g2
-
- LOC(not_too_big):
- 3: cmp %o5, %o3
- blu 2b
- nop
- be LOC(do_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...
- LOC(do_single_div):
- subcc %g2, 1, %g2
- bl LOC(end_regular_divide)
- nop
- sub %o3, %o5, %o3
- mov 1, %o2
- b LOC(end_single_divloop)
- nop
- LOC(single_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:
- LOC(end_single_divloop):
- subcc %g2, 1, %g2
- bge LOC(single_divloop)
- tst %o3
- b,a LOC(end_regular_divide)
-
-LOC(not_really_big):
-1:
- sll %o5, 4, %o5
- cmp %o5, %o3
- bleu 1b
- addcc %o4, 1, %o4
- be LOC(got_result)
- sub %o4, 1, %o4
-
- tst %o3 ! set up for initial iteration
-LOC(divloop):
- sll %o2, 4, %o2
- ! depth 1, accumulated bits 0
- bl LOC(1.16)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 2, accumulated bits 1
- bl LOC(2.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits 3
- bl LOC(3.19)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 7
- bl LOC(4.23)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2+1), %o2
-
-LOC(4.23):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (7*2-1), %o2
-
-
-LOC(3.19):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 5
- bl LOC(4.21)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2+1), %o2
-
-LOC(4.21):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (5*2-1), %o2
-
-
-
-LOC(2.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits 1
- bl LOC(3.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits 3
- bl LOC(4.19)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2+1), %o2
-
-LOC(4.19):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (3*2-1), %o2
-
-
-LOC(3.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits 1
- bl LOC(4.17)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2+1), %o2
-
-LOC(4.17):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (1*2-1), %o2
-
-
-
-
-LOC(1.16):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 2, accumulated bits -1
- bl LOC(2.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 3, accumulated bits -1
- bl LOC(3.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -1
- bl LOC(4.15)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2+1), %o2
-
-LOC(4.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-1*2-1), %o2
-
-
-LOC(3.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -3
- bl LOC(4.13)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2+1), %o2
-
-LOC(4.13):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-3*2-1), %o2
-
-
-
-LOC(2.15):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 3, accumulated bits -3
- bl LOC(3.13)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- ! depth 4, accumulated bits -5
- bl LOC(4.11)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2+1), %o2
-
-LOC(4.11):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-5*2-1), %o2
-
-
-LOC(3.13):
- ! remainder is negative
- addcc %o3,%o5,%o3
- ! depth 4, accumulated bits -7
- bl LOC(4.9)
- srl %o5,1,%o5
- ! remainder is positive
- subcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2+1), %o2
-
-LOC(4.9):
- ! remainder is negative
- addcc %o3,%o5,%o3
- b 9f
- add %o2, (-7*2-1), %o2
-
-
-
-
- 9:
-LOC(end_regular_divide):
- subcc %o4, 1, %o4
- bge LOC(divloop)
- tst %o3
- bl,a LOC(got_result)
- ! non-restoring fixup here (one instruction only!)
- add %o3, %o1, %o3
-
-
-LOC(got_result):
-
- retl
- mov %o3, %o0
-
-END(.urem)
-#endif
diff --git a/mdk-stage1/dietlibc/start.h b/mdk-stage1/dietlibc/start.h
deleted file mode 100644
index 7f9e6be28..000000000
--- a/mdk-stage1/dietlibc/start.h
+++ /dev/null
@@ -1,14 +0,0 @@
-.section ".bss"
-.align 8
-
-.weak errno
-errno:
-.global __errno
-__errno:
- .long 0
-
-.weak environ
-environ:
-.global __environ
-__environ:
- .long 0
diff --git a/mdk-stage1/dietlibc/syscalls.c/_llseek.c b/mdk-stage1/dietlibc/syscalls.c/_llseek.c
deleted file mode 100644
index fdf49eba5..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/_llseek.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <unistd.h>
-#include <sys/types.h>
-#include "syscalls.h"
-
-_syscall5(int,_llseek,uint,fd,ulong,hi,ulong,lo,loff_t*,res,uint,wh);
diff --git a/mdk-stage1/dietlibc/syscalls.c/_newselect.c b/mdk-stage1/dietlibc/syscalls.c/_newselect.c
deleted file mode 100644
index cb42193bd..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/_newselect.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <linux/types.h>
-#include <linux/time.h>
-#include "syscalls.h"
-
-_syscall5(int,_newselect,int,n,fd_set *,rd,fd_set *,wr,fd_set *,ex,struct timeval *,timeval);
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/access.c b/mdk-stage1/dietlibc/syscalls.c/access.c
deleted file mode 100644
index 80944733a..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/access.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,access,const char*,pathname,int,mode)
diff --git a/mdk-stage1/dietlibc/syscalls.c/chdir.c b/mdk-stage1/dietlibc/syscalls.c/chdir.c
deleted file mode 100644
index a679f528d..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/chdir.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,chdir,void*,path)
diff --git a/mdk-stage1/dietlibc/syscalls.c/chmod.c b/mdk-stage1/dietlibc/syscalls.c/chmod.c
deleted file mode 100644
index 80ad33b40..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/chmod.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,chmod,const char * ,path,mode_t,mode)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/chown.c b/mdk-stage1/dietlibc/syscalls.c/chown.c
deleted file mode 100644
index 5a9352684..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/chown.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,chown,char*,path,uid_t,owner,gid_t,group)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/chroot.c b/mdk-stage1/dietlibc/syscalls.c/chroot.c
deleted file mode 100644
index ab39f7ebe..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/chroot.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,chroot,void*,path)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/clone.c b/mdk-stage1/dietlibc/syscalls.c/clone.c
deleted file mode 100644
index 985eee4c8..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/clone.c
+++ /dev/null
@@ -1 +0,0 @@
-#warning "No CLONE support yet"
diff --git a/mdk-stage1/dietlibc/syscalls.c/close.c b/mdk-stage1/dietlibc/syscalls.c/close.c
deleted file mode 100644
index a7d7f0076..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/close.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,close,int,fd)
diff --git a/mdk-stage1/dietlibc/syscalls.c/dup.c b/mdk-stage1/dietlibc/syscalls.c/dup.c
deleted file mode 100644
index 9c28f0bd6..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/dup.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,dup,int,fd)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/dup2.c b/mdk-stage1/dietlibc/syscalls.c/dup2.c
deleted file mode 100644
index 399314aa8..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/dup2.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,dup2,int,one,int,two)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/execve.c b/mdk-stage1/dietlibc/syscalls.c/execve.c
deleted file mode 100644
index c2bac0117..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/execve.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,execve,const char *,fn,void *,argv,void *,envp)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/exit.c b/mdk-stage1/dietlibc/syscalls.c/exit.c
deleted file mode 100644
index 87087c939..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/exit.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,exit,int,exitcode)
diff --git a/mdk-stage1/dietlibc/syscalls.c/fchdir.c b/mdk-stage1/dietlibc/syscalls.c/fchdir.c
deleted file mode 100644
index b3a41dc7a..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fchdir.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,fchdir,int,fd)
diff --git a/mdk-stage1/dietlibc/syscalls.c/fchmod.c b/mdk-stage1/dietlibc/syscalls.c/fchmod.c
deleted file mode 100644
index 09e52b6c7..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fchmod.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,fchmod,int,filedes,mode_t,mode)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/fchown.c b/mdk-stage1/dietlibc/syscalls.c/fchown.c
deleted file mode 100644
index 58923a137..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fchown.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,fchown,int,fd,uid_t,owner,gid_t,group)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/fcntl.c b/mdk-stage1/dietlibc/syscalls.c/fcntl.c
deleted file mode 100644
index b21be9531..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fcntl.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,fcntl,int,fd,int,cmd,long,arg)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/flock.c b/mdk-stage1/dietlibc/syscalls.c/flock.c
deleted file mode 100644
index 6fcb336ef..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/flock.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,flock,int,fd,int,op)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/fork.c b/mdk-stage1/dietlibc/syscalls.c/fork.c
deleted file mode 100644
index 1d4b892b6..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fork.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "syscalls.h"
-
-#ifndef __sparc__
-
-_syscall0(int,fork)
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.c/fsync.c b/mdk-stage1/dietlibc/syscalls.c/fsync.c
deleted file mode 100644
index db6198b8a..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/fsync.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,fsync,int,fd)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/ftruncate.c b/mdk-stage1/dietlibc/syscalls.c/ftruncate.c
deleted file mode 100644
index 5f002a899..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/ftruncate.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <sys/types.h>
-#include "syscalls.h"
-
-_syscall2(int,ftruncate,int,fd,off_t,length)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getcwd.c b/mdk-stage1/dietlibc/syscalls.c/getcwd.c
deleted file mode 100644
index 9e5e4a3e2..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getcwd.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-
-/* this syscall exists since Linux 2.1.92 */
-
-_syscall2(int,getcwd,char*,buf,unsigned long,size)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getdents.c b/mdk-stage1/dietlibc/syscalls.c/getdents.c
deleted file mode 100644
index be941b21e..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getdents.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int, getdents, unsigned int, fd, void *, dirp, unsigned int, count);
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/getegid.c b/mdk-stage1/dietlibc/syscalls.c/getegid.c
deleted file mode 100644
index 3213d640c..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getegid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall0(gid_t,getegid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/geteuid.c b/mdk-stage1/dietlibc/syscalls.c/geteuid.c
deleted file mode 100644
index 5b31a3cca..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/geteuid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall0(uid_t,geteuid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getgid.c b/mdk-stage1/dietlibc/syscalls.c/getgid.c
deleted file mode 100644
index 2f7d96286..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getgid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall0(gid_t,getgid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getgroups.c b/mdk-stage1/dietlibc/syscalls.c/getgroups.c
deleted file mode 100644
index 3e4d6797a..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getgroups.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,getgroups,int,size,int*,list)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getpgid.c b/mdk-stage1/dietlibc/syscalls.c/getpgid.c
deleted file mode 100644
index 0b4ff528b..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getpgid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(pid_t,getpgid,pid_t,pid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getpid.c b/mdk-stage1/dietlibc/syscalls.c/getpid.c
deleted file mode 100644
index d60a8db9a..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getpid.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall0(int,getpid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getppid.c b/mdk-stage1/dietlibc/syscalls.c/getppid.c
deleted file mode 100644
index ee87a8eae..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getppid.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall0(int,getppid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getpriority.c b/mdk-stage1/dietlibc/syscalls.c/getpriority.c
deleted file mode 100644
index 6f94bcf42..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getpriority.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,getpriority,int,which,int,who)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/getresgid.c b/mdk-stage1/dietlibc/syscalls.c/getresgid.c
deleted file mode 100644
index 264ec7dce..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getresgid.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-#ifdef __NR_getresgid
-
-_syscall3(int,getresgid,gid_t*,rgid,gid_t*,egid,gid_t*,sgid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.c/getresuid.c b/mdk-stage1/dietlibc/syscalls.c/getresuid.c
deleted file mode 100644
index 74e2daec2..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getresuid.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-#ifdef __getresuid
-
-_syscall3(int,getresuid,uid_t*,ruid,uid_t*,euid,uid_t*,suid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.c/getrlimit.c b/mdk-stage1/dietlibc/syscalls.c/getrlimit.c
deleted file mode 100644
index 635b2baf4..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getrlimit.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,getrlimit,int,resource,void*,rlim)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getrusage.c b/mdk-stage1/dietlibc/syscalls.c/getrusage.c
deleted file mode 100644
index 815d3e617..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getrusage.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,getrusage,int,who,void*,rusage)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getsid.c b/mdk-stage1/dietlibc/syscalls.c/getsid.c
deleted file mode 100644
index 69974c36c..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getsid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(pid_t,getsid,pid_t,pid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/gettimeofday.c b/mdk-stage1/dietlibc/syscalls.c/gettimeofday.c
deleted file mode 100644
index 5f4931a0c..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/gettimeofday.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include <linux/time.h>
-#include "syscalls.h"
-
-_syscall2(int,gettimeofday,struct timeval *,tv,void *,tz)
diff --git a/mdk-stage1/dietlibc/syscalls.c/getuid.c b/mdk-stage1/dietlibc/syscalls.c/getuid.c
deleted file mode 100644
index bf38447a6..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/getuid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall0(uid_t,getuid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/ioctl.c b/mdk-stage1/dietlibc/syscalls.c/ioctl.c
deleted file mode 100644
index 1612109d3..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/ioctl.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,ioctl,int,fd,int,request,void *,argp)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/kill.c b/mdk-stage1/dietlibc/syscalls.c/kill.c
deleted file mode 100644
index e56b0ac1b..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/kill.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,kill,pid_t,pid,int,sig)
diff --git a/mdk-stage1/dietlibc/syscalls.c/lchown.c b/mdk-stage1/dietlibc/syscalls.c/lchown.c
deleted file mode 100644
index 976d2ee1f..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/lchown.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,lchown,char*,path,uid_t,owner,gid_t,group)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/link.c b/mdk-stage1/dietlibc/syscalls.c/link.c
deleted file mode 100644
index ab9b427d9..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/link.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,link,const char *,a,const char *,b)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/lseek.c b/mdk-stage1/dietlibc/syscalls.c/lseek.c
deleted file mode 100644
index 9925a2185..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/lseek.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(unsigned long,lseek,int,fd,unsigned long,offset,int,whence)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/mkdir.c b/mdk-stage1/dietlibc/syscalls.c/mkdir.c
deleted file mode 100644
index aac682c99..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/mkdir.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,mkdir,void*,path,mode_t,mode)
diff --git a/mdk-stage1/dietlibc/syscalls.c/mknod.c b/mdk-stage1/dietlibc/syscalls.c/mknod.c
deleted file mode 100644
index 00e836b73..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/mknod.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,mknod,const char*,pathname,mode_t,mode,dev_t,dev)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/mount.c b/mdk-stage1/dietlibc/syscalls.c/mount.c
deleted file mode 100644
index 2d71ee812..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/mount.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall5(int,mount,const char *,spec,const char *,dir,const char *,type,unsigned long,rwflag,const void *,data);
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/mprotect.c b/mdk-stage1/dietlibc/syscalls.c/mprotect.c
deleted file mode 100644
index 634a12089..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/mprotect.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,mprotect,const void *,addr, size_t, len, int, prot)
diff --git a/mdk-stage1/dietlibc/syscalls.c/mremap.c b/mdk-stage1/dietlibc/syscalls.c/mremap.c
deleted file mode 100644
index 37d066bac..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/mremap.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall4(int,mremap,void*,old_address,size_t,old_size,size_t,new_size,unsigned long,flags)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/munmap.c b/mdk-stage1/dietlibc/syscalls.c/munmap.c
deleted file mode 100644
index 40bc98270..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/munmap.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,munmap,void*,start,size_t,len)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/nanosleep.c b/mdk-stage1/dietlibc/syscalls.c/nanosleep.c
deleted file mode 100644
index 71aca1f09..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/nanosleep.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include <linux/time.h>
-#include "syscalls.h"
-
-_syscall2(int,nanosleep,struct timeval *,in,struct timeval *,out)
diff --git a/mdk-stage1/dietlibc/syscalls.c/open.c b/mdk-stage1/dietlibc/syscalls.c/open.c
deleted file mode 100644
index 8b3ccfcc3..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/open.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,open,const char *,fn,int,flags,mode_t,mode)
diff --git a/mdk-stage1/dietlibc/syscalls.c/pipe.c b/mdk-stage1/dietlibc/syscalls.c/pipe.c
deleted file mode 100644
index 42197c881..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/pipe.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(int,pipe,int *,filedes)
diff --git a/mdk-stage1/dietlibc/syscalls.c/poll.c b/mdk-stage1/dietlibc/syscalls.c/poll.c
deleted file mode 100644
index 10d0d1f78..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/poll.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,poll,void *,ufds,int,nfds,int,timeout)
diff --git a/mdk-stage1/dietlibc/syscalls.c/read.c b/mdk-stage1/dietlibc/syscalls.c/read.c
deleted file mode 100644
index f5532054e..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/read.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,read,int,fd,const char *,buf,unsigned long,count)
diff --git a/mdk-stage1/dietlibc/syscalls.c/readlink.c b/mdk-stage1/dietlibc/syscalls.c/readlink.c
deleted file mode 100644
index 482f8fe27..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/readlink.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "syscalls.h"
-#include <linux/types.h>
-
-_syscall3(int,readlink,char*,path,char*,buf,size_t,bufsiz)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/reboot.c b/mdk-stage1/dietlibc/syscalls.c/reboot.c
deleted file mode 100644
index 0ad474894..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/reboot.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,reboot,int,magic,int,magic_too,int,flag)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/rename.c b/mdk-stage1/dietlibc/syscalls.c/rename.c
deleted file mode 100644
index f86d50728..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/rename.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,rename,char*,oldpath,char*,newpath)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/rmdir.c b/mdk-stage1/dietlibc/syscalls.c/rmdir.c
deleted file mode 100644
index 303885264..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/rmdir.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,rmdir,void*,path)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setdomainname.c b/mdk-stage1/dietlibc/syscalls.c/setdomainname.c
deleted file mode 100644
index 83d3aa8b8..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setdomainname.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,setdomainname,const char *,name,int,len)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/setgid.c b/mdk-stage1/dietlibc/syscalls.c/setgid.c
deleted file mode 100644
index 1f7263aeb..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setgid.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,setgid,int,gid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setgroups.c b/mdk-stage1/dietlibc/syscalls.c/setgroups.c
deleted file mode 100644
index fed3b85c1..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setgroups.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,setgroups,int,size,const int*,list)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/sethostname.c b/mdk-stage1/dietlibc/syscalls.c/sethostname.c
deleted file mode 100644
index e4b736f87..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sethostname.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,sethostname,const char *,name,int,len)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/setitimer.c b/mdk-stage1/dietlibc/syscalls.c/setitimer.c
deleted file mode 100644
index 28935cab7..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setitimer.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,setitimer,int,which,void *,value,void *,ovalue)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/setpgid.c b/mdk-stage1/dietlibc/syscalls.c/setpgid.c
deleted file mode 100644
index 66fbf82dd..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setpgid.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,setpgid,int,name,int,len)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setpriority.c b/mdk-stage1/dietlibc/syscalls.c/setpriority.c
deleted file mode 100644
index bc04227d2..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setpriority.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,setpriority,int,which,int,who,int,prio)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/setregid.c b/mdk-stage1/dietlibc/syscalls.c/setregid.c
deleted file mode 100644
index c6911aca8..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setregid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,setregid,gid_t,rgid,gid_t,egid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setresgid.c b/mdk-stage1/dietlibc/syscalls.c/setresgid.c
deleted file mode 100644
index 817fd2942..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setresgid.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-#ifdef __NR_setresgid
-
-_syscall3(int,setresgid,gid_t*,rgid,gid_t*,egid,gid_t*,sgid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.c/setresuid.c b/mdk-stage1/dietlibc/syscalls.c/setresuid.c
deleted file mode 100644
index 7073d8ac2..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setresuid.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-#ifdef __NR_setresuid
-
-_syscall3(int,setresuid,uid_t*,ruid,uid_t*,euid,uid_t*,suid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.c/setreuid.c b/mdk-stage1/dietlibc/syscalls.c/setreuid.c
deleted file mode 100644
index c0c23a12d..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setreuid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,setreuid,uid_t,ruid,uid_t,euid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setrlimit.c b/mdk-stage1/dietlibc/syscalls.c/setrlimit.c
deleted file mode 100644
index 213234282..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setrlimit.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,setrlimit,int,resource,void*,rlim)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setsid.c b/mdk-stage1/dietlibc/syscalls.c/setsid.c
deleted file mode 100644
index 4b35a1316..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setsid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall0(pid_t,setsid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/setuid.c b/mdk-stage1/dietlibc/syscalls.c/setuid.c
deleted file mode 100644
index 620876c9f..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/setuid.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,setuid,int,uid)
diff --git a/mdk-stage1/dietlibc/syscalls.c/sigaction.c b/mdk-stage1/dietlibc/syscalls.c/sigaction.c
deleted file mode 100644
index cfa5c683f..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sigaction.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,sigaction,int,signum,void*,act,void*,oldact)
diff --git a/mdk-stage1/dietlibc/syscalls.c/signal.c b/mdk-stage1/dietlibc/syscalls.c/signal.c
deleted file mode 100644
index 1a913be45..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/signal.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,signal,int,num,void *,len)
diff --git a/mdk-stage1/dietlibc/syscalls.c/sigpending.c b/mdk-stage1/dietlibc/syscalls.c/sigpending.c
deleted file mode 100644
index 08fb23991..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sigpending.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,sigpending,void*,set)
diff --git a/mdk-stage1/dietlibc/syscalls.c/sigprocmask.c b/mdk-stage1/dietlibc/syscalls.c/sigprocmask.c
deleted file mode 100644
index e9dcc2d67..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sigprocmask.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,sigprocmask,int,how,void*,set,void*,oldset)
diff --git a/mdk-stage1/dietlibc/syscalls.c/sigsuspend.c b/mdk-stage1/dietlibc/syscalls.c/sigsuspend.c
deleted file mode 100644
index 0fe90e623..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sigsuspend.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,sigsuspend,void*,mask)
diff --git a/mdk-stage1/dietlibc/syscalls.c/socketcall.c b/mdk-stage1/dietlibc/syscalls.c/socketcall.c
deleted file mode 100644
index eee1ae86d..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/socketcall.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,socketcall,int,code,unsigned long *, args)
diff --git a/mdk-stage1/dietlibc/syscalls.c/swapoff.c b/mdk-stage1/dietlibc/syscalls.c/swapoff.c
deleted file mode 100644
index e1daa89a9..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/swapoff.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,swapoff,const char *,fn)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/swapon.c b/mdk-stage1/dietlibc/syscalls.c/swapon.c
deleted file mode 100644
index 543e41e79..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/swapon.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,swapon,const char*,path,int,swapflags)
diff --git a/mdk-stage1/dietlibc/syscalls.c/symlink.c b/mdk-stage1/dietlibc/syscalls.c/symlink.c
deleted file mode 100644
index b3f4d0b1c..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/symlink.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,symlink,const char *,a,const char *,b)
diff --git a/mdk-stage1/dietlibc/syscalls.c/sync.c b/mdk-stage1/dietlibc/syscalls.c/sync.c
deleted file mode 100644
index cca17461f..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/sync.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall0(int,sync)
diff --git a/mdk-stage1/dietlibc/syscalls.c/syslog.c b/mdk-stage1/dietlibc/syscalls.c/syslog.c
deleted file mode 100644
index aace870ea..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/syslog.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,syslog,int, type, char *, buf, int, len);
diff --git a/mdk-stage1/dietlibc/syscalls.c/time.c b/mdk-stage1/dietlibc/syscalls.c/time.c
deleted file mode 100644
index dc15b28f9..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/time.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(time_t,time,time_t*,path)
diff --git a/mdk-stage1/dietlibc/syscalls.c/truncate.c b/mdk-stage1/dietlibc/syscalls.c/truncate.c
deleted file mode 100644
index 721bd7134..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/truncate.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall2(int,truncate,const char*,path,off_t,length)
diff --git a/mdk-stage1/dietlibc/syscalls.c/umask.c b/mdk-stage1/dietlibc/syscalls.c/umask.c
deleted file mode 100644
index 506038243..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/umask.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(int,umask,mode_t,mask)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/umount.c b/mdk-stage1/dietlibc/syscalls.c/umount.c
deleted file mode 100644
index 4d3ef7637..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/umount.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,umount,const char *,dir)
diff --git a/mdk-stage1/dietlibc/syscalls.c/uname.c b/mdk-stage1/dietlibc/syscalls.c/uname.c
deleted file mode 100644
index 68f135007..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/uname.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall1(int,uname,void *,utsname)
-
diff --git a/mdk-stage1/dietlibc/syscalls.c/unlink.c b/mdk-stage1/dietlibc/syscalls.c/unlink.c
deleted file mode 100644
index 860ccebbf..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/unlink.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall1(int,unlink,const char *,fn)
diff --git a/mdk-stage1/dietlibc/syscalls.c/utime.c b/mdk-stage1/dietlibc/syscalls.c/utime.c
deleted file mode 100644
index 185bdf9e8..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/utime.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall2(int,utime,void*,filename,void*,buf)
diff --git a/mdk-stage1/dietlibc/syscalls.c/vhangup.c b/mdk-stage1/dietlibc/syscalls.c/vhangup.c
deleted file mode 100644
index bb0669765..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/vhangup.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall0(int,vhangup)
diff --git a/mdk-stage1/dietlibc/syscalls.c/wait4.c b/mdk-stage1/dietlibc/syscalls.c/wait4.c
deleted file mode 100644
index 4ae7eabcd..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/wait4.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall4(int,wait4,pid_t,pid,int *,status,int,opts,void *,rusage)
diff --git a/mdk-stage1/dietlibc/syscalls.c/waitpid.c b/mdk-stage1/dietlibc/syscalls.c/waitpid.c
deleted file mode 100644
index b7167f9ce..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/waitpid.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include <linux/types.h>
-#include "syscalls.h"
-
-_syscall3(int,waitpid,int,pid,int *,status,int,options)
diff --git a/mdk-stage1/dietlibc/syscalls.c/write.c b/mdk-stage1/dietlibc/syscalls.c/write.c
deleted file mode 100644
index d1f7347d5..000000000
--- a/mdk-stage1/dietlibc/syscalls.c/write.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-_syscall3(int,write,int,fd,const char *,buf,unsigned long,count)
diff --git a/mdk-stage1/dietlibc/syscalls.h b/mdk-stage1/dietlibc/syscalls.h
deleted file mode 100644
index eba7a3c00..000000000
--- a/mdk-stage1/dietlibc/syscalls.h
+++ /dev/null
@@ -1,142 +0,0 @@
-#ifdef __ASSEMBLER__
-
-#include <asm/unistd.h>
-
-#else
-
-#include <linux/unistd.h>
-
-#endif
-
-#ifdef __i386__
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.weak wsym; \
-wsym: ; \
-.global sym; \
-sym: \
- movb $__NR_##name,%al; \
- jmp __unified_syscall
-
-#define syscall(name,sym) \
-.text; \
-.global sym; \
-sym: \
- movb $__NR_##name,%al; \
- jmp __unified_syscall
-
-#endif
-
-#ifdef __sparc__
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.weak wsym; \
-wsym: ; \
-.global sym; \
-sym: \
- b __unified_syscall; \
- mov __NR_##name, %g1
-
-#define syscall(name,sym) \
-.text; \
-.global sym; \
-sym: \
- b __unified_syscall; \
- mov __NR_##name, %g1
-
-#endif
-
-#ifdef __powerpc__
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.weak wsym; \
-wsym: ; \
-.global sym; \
-sym: \
- li 0,__NR_##name; \
- b __unified_syscall
-
-#define syscall(name,sym) \
-.text; \
-.global sym; \
-sym: \
- li 0,__NR_##name; \
- b __unified_syscall
-
-#endif
-
-
-#ifdef __mips__
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.weak wsym; \
-wsym: ; \
-.global sym; \
-.ent sym; \
-sym: \
- li $2,__NR_##name; \
- la $25,__unified_syscall; \
- jr $25; \
-.end sym
-
-#define syscall(name,sym) \
-.text; \
-.global sym; \
-.ent sym; \
-sym: \
- li $2,__NR_##name; \
- la $25,__unified_syscall; \
- jr $25; \
-.end sym
-
-#endif
-
-#ifdef __arm__
-
-#define syscall_weak(name,wsym,sym) \
-.text; \
-.weak wsym; \
-wsym: ; \
-.global sym; \
-sym: \
- swi __NR_##name; \
- b __unified_syscall
-
-#define syscall(name,sym) \
-.text; \
-.global sym; \
-sym: \
- swi __NR_##name; \
- b __unified_syscall
-
-#endif
-
-
-#ifdef __alpha__
-
-#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
-
-#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 ad47c7873..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/__pread.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(pread,__pread,__libc__pread)
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 3e240d822..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/_llseek.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(_llseek,_llseek)
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/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/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/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/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/exit.S b/mdk-stage1/dietlibc/syscalls.s/exit.S
deleted file mode 100644
index 11c989529..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/exit.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(exit,exit,_exit)
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/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/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 0c7a41609..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/fstat64.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(fstat64,__dietlibc_fstat64)
-#else
-syscall(fstat64,fstat64)
-#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/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 16859addf..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getdents64.S
+++ /dev/null
@@ -1,5 +0,0 @@
-#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/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/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/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/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/getresuid.S b/mdk-stage1/dietlibc/syscalls.s/getresuid.S
deleted file mode 100644
index 62f6d764f..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/getresuid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __getresuid
-
-syscall(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/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 0acfde07a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ioperm.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ioperm,ioperm)
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 40479400d..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ipc.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ipc,__ipc)
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/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/llseek.S b/mdk-stage1/dietlibc/syscalls.s/llseek.S
deleted file mode 100644
index 0318b492e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/llseek.S
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef __NR__llseek
-syscall(_llseek,llseek)
-#endif
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 33fd5ab94..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/lstat64.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(lstat64,__dietlibc_lstat64)
-#else
-syscall(lstat64,lstat64)
-#endif
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/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/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/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/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 7d3f740b2..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/nice.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(nice,nice)
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 cdf42cabd..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/pause.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(pause,pause,__libc_pause)
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/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/ptrace.s b/mdk-stage1/dietlibc/syscalls.s/ptrace.s
deleted file mode 100644
index 392e6a4ed..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/ptrace.s
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(ptrace,ptrace)
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/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/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 12d6195dd..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 and does not support large files")
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/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/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/setresgid.S b/mdk-stage1/dietlibc/syscalls.s/setresgid.S
deleted file mode 100644
index 64cbac94e..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setresgid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __setresgid
-
-syscall(setresgid)
-
-#endif
diff --git a/mdk-stage1/dietlibc/syscalls.s/setresuid.S b/mdk-stage1/dietlibc/syscalls.s/setresuid.S
deleted file mode 100644
index 20b6abee9..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/setresuid.S
+++ /dev/null
@@ -1,7 +0,0 @@
-#include "syscalls.h"
-
-#ifdef __setresuid
-
-syscall(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/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/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/sigaction.S b/mdk-stage1/dietlibc/syscalls.s/sigaction.S
deleted file mode 100644
index 32382870c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigaction.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sigaction,sigaction)
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/signal.S b/mdk-stage1/dietlibc/syscalls.s/signal.S
deleted file mode 100644
index 86c4d5db0..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/signal.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(signal,signal)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigpending.S b/mdk-stage1/dietlibc/syscalls.s/sigpending.S
deleted file mode 100644
index 08715bef5..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigpending.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(sigpending,sigpending)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S b/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S
deleted file mode 100644
index 07f5b9d26..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigprocmask.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(sigprocmask,sigprocmask,__sigprocmask)
diff --git a/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S b/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S
deleted file mode 100644
index 062264ab6..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/sigsuspend.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(sigsuspend,sigsuspend,__libc_sigsuspend)
diff --git a/mdk-stage1/dietlibc/syscalls.s/socketcall.S b/mdk-stage1/dietlibc/syscalls.s/socketcall.S
deleted file mode 100644
index 5837c049a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/socketcall.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(socketcall,socketcall)
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 734fcab20..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/stat64.S
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "dietfeatures.h"
-#include "syscalls.h"
-
-#ifdef WANT_LARGEFILE_BACKCOMPAT
-syscall(stat64,__dietlibc_stat64)
-#else
-syscall(stat64,stat64)
-#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 9d9f5bf0a..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/stime.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(stime,stime)
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 6af3c4eac..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/syslog.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(syslog,__syscall_syslog)
diff --git a/mdk-stage1/dietlibc/syscalls.s/time.S b/mdk-stage1/dietlibc/syscalls.s/time.S
deleted file mode 100644
index 26c79091c..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/time.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(time,time)
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/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 4cdd6a200..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/umount2.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall(umount2,umount2)
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 5cdc18afb..000000000
--- a/mdk-stage1/dietlibc/syscalls.s/waitpid.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "syscalls.h"
-
-syscall_weak(waitpid,waitpid,__libc_waitpid)
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/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 ec9e1a97f..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,199 +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 <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"
-static char * disk_extract_list_directory(char * direct)
+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;
+ }
+ }
+ if (mounted)
+ umount(MEDIA_LOCATION);
+ return RETURN_ERROR;
+}
+
+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;
+ }
+ 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++;
+ }
+ return RETURN_ERROR;
+}
+
+static enum return_type try_automatic(char ** medias, char ** medias_models)
{
- 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++;
+ 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 strdup(tmp);
+ 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 device_fullname[50];
char location_full[500];
- char * disk_own_mount = "/tmp/hdimage";
-
- int major, minor, blocks;
- char name[100];
-
- char buf[512];
- FILE * f;
char * parts[50];
char * parts_comments[50];
- struct stat statbuf;
- int i = 0;
enum return_type results;
char * choice;
-
- if (!(f = fopen("/proc/partitions", "rb")) || !fgets(buf, sizeof(buf), f) || !fgets(buf, sizeof(buf), f)) {
- log_perror(dev_name);
+
+ if (list_partitions(dev_name, parts, parts_comments)) {
stg1_error_message("Could not read partitions information.");
return RETURN_ERROR;
- }
-
- while (fgets(buf, sizeof(buf), f)) {
- bzero(name, 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')) {
- parts[i] = strdup(name);
- parts_comments[i] = (char *) malloc(sizeof(char) * 25);
- snprintf(parts_comments[i], 24, "size: %d Mbytes", blocks >> 10);
- i++;
- }
- }
- parts[i] = NULL;
- fclose(f);
-
- if (parts[0] == NULL) {
- stg1_error_message("No partitions found.");
- return RETURN_ERROR;
- }
-
- results = ask_from_list_comments_auto("Please choose the partition where is copied the " DISTRIB_NAME " Distribution.",
- parts, parts_comments, &choice, "partition", parts);
- if (results != RETURN_OK)
- return results;
-
- strcpy(device_fullname, "/dev/");
- strcat(device_fullname, choice);
-
- if (my_mount(device_fullname, disk_own_mount, "ext2", 0) == -1 &&
- my_mount(device_fullname, disk_own_mount, "vfat", 0) == -1 &&
- my_mount(device_fullname, disk_own_mount, "reiserfs", 0) == -1) {
- stg1_error_message("I can't find a valid filesystem (tried: ext2, vfat, reiserfs).");
+ }
+
+ /* 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 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;
+ }
+
+ /* 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;
}
enum return_type disk_prepare(void)
{
- char ** medias, ** ptr, ** medias_models;
+ char ** medias, ** medias_models;
char * choice;
- int i, count = 0;
+ int i;
enum return_type results;
+ static int already_probed_ide_generic = 0;
- my_insmod("sd_mod", ANY_DRIVER_TYPE, NULL);
-
- get_medias(DISK, &medias, &medias_models);
+ int count = get_disks(&medias, &medias_models);
- ptr = medias;
- while (ptr && *ptr) {
- count++;
- ptr++;
- }
+ 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();
@@ -219,24 +220,25 @@ 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();
diff --git a/mdk-stage1/disk.h b/mdk-stage1/disk.h
index 54213cf68..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.
diff --git a/mdk-stage1/dns.c b/mdk-stage1/dns.c
index d1e67c78d..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 :-(
-
-#ifdef __LIBC_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,176 +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, strlen((void *) &in), AF_INET);
- if (host && host->h_name)
- return host->h_name;
- return NULL;
-}
-
-
-#else // __LIBC_DIETLIBC__
+ struct addrinfo hints, *res, *p;
+ int status;
+ char ipstr[INET6_ADDRSTRLEN];
-#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>
+ memset(&hints, 0, sizeof hints);
+ hints.ai_family = AF_INET; //AF_UNSPEC for both IPv4 & IPv6
+ hints.ai_socktype = SOCK_STREAM;
-#include "log.h"
-
-#include "dns.h"
+ /* prevent from timeouts */
+ if (_res.nscount == 0)
+ return -1;
-/* This is dumb, but glibc doesn't like to do hostname lookups w/o libc.so */
+ if ((status = getaddrinfo(name, NULL, &hints, &res)) != 0) {
+ log_message("getaddrinfo: %s\n", gai_strerror(status));
+ return -1;
+ }
-union dns_response {
- HEADER hdr;
- u_char buf[PACKETSZ];
-} ;
+ for (p = res;p != NULL; p = p->ai_next) {
+ void *tmp_addr;
-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;
+ struct sockaddr_in *ipv = (struct sockaddr_in *)p->ai_addr;
+ tmp_addr = &(ipv->sin_addr);
- if (ntohs(response.hdr.rcode) != NOERROR)
- return -1;
+ /* convert the IP to a string: */
+ inet_ntop(p->ai_family, addr, ipstr, sizeof ipstr);
- 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;
-}
-
-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;
}
-#endif
+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;
+
+ if (inet_pton(AF_INET, ipnum, &sa.sin_addr) != 1)
+ return NULL;
+
+ 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 09edce6c2..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@mandrakesoft.com)
+ Guillaume Cottenceau (gc at mandriva.com)
[ Copyright ]
- Copyright 2000 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://us.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 f86809f69..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
@@ -78,3 +83,24 @@ fi
+You may use shorter versions of keywords (it helps reducing size of
+commandline), please find each keyword short-alias counterpart in file
+../automatic.c under the identifier named "short_aliases".
+
+This gives for example for:
+
+ 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/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 a20266e8f..cfae4dc54 100644
--- a/mdk-stage1/doc/UPDATEMODULES
+++ b/mdk-stage1/doc/UPDATEMODULES
@@ -2,24 +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 row 0 of any line. Beware, on the
-first line of the line, a comment is mandatory (there is a bug somewhere).
+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:
@@ -37,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
@@ -53,6 +60,18 @@ fat
# updated msdos (handling of 9+4 filenames)
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]#
--=----=----=----=----=----=----=----=----=--
@@ -63,9 +82,15 @@ ppa
b- fat loaded from the marfile on the boot floppy
c- msdos loaded from the update modules floppy
d- ppa loaded from the update modules floppy
+ e- ne loaded from the marfile on the boot floppy
+
+
+!!! Beware !!!, the dependencies are not handled automatically in
+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.
-Beware, the dependencies are not handled automatically in 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 caddeb7d4..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,9 @@
#include <stdlib.h>
#include <stdarg.h>
+#include <string.h>
+
+#include <probing.h>
#include "frontend.h"
@@ -41,3 +44,21 @@ void error_message(char *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 167291798..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.
@@ -21,6 +21,12 @@
#include <stdarg.h>
+/* 'unused' atttribute, gcc specific and just to turn down some warnings. */
+#if defined __GNUC__
+#define UNUSED __attribute__((unused))
+#else
+#define UNUSED
+#endif
enum return_type { RETURN_OK, RETURN_BACK, RETURN_ERROR };
@@ -32,19 +38,31 @@ 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));
+void suspend_to_console(void);
+void resume_from_suspend(void);
void verror_message(char *msg, va_list ap);
void vinfo_message(char *msg, va_list ap);
void vwait_message(char *msg, va_list ap);
-
#endif
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-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 82e5f6fc7..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 5763e0c6d..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 01761e869..000000000
--- a/mdk-stage1/init-libc-headers.h
+++ /dev/null
@@ -1,44 +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>
-
-#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 df0bf0afe..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,24 +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 0x540
-#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",
+ "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
};
@@ -51,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)
@@ -76,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);
}
@@ -98,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)
@@ -108,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];
@@ -121,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;
@@ -136,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");
@@ -178,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;
@@ -193,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);
@@ -233,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
@@ -257,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)
{
@@ -266,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");
@@ -295,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:
@@ -305,31 +340,123 @@ 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 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 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_rescue = 66;
+
+int exit_value_restart = 0x35;
int main(int argc, char **argv)
{
@@ -337,10 +464,12 @@ int main(int argc, char **argv)
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 */
@@ -348,45 +477,38 @@ int main(int argc, char **argv)
printf("\033[8]");
}
else
- printf("*** TESTING MODE ***\n");
+ 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);
- if (fd < 0)
- /* try with devfs */
- fd = open("/dev/vc/1", O_RDWR, 0);
-
+ fd = open("/dev/console", 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 */
@@ -396,57 +518,78 @@ int main(int argc, char **argv)
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("Yavpoovoy says:\n");
- printf(" Abraham leva les yeux et vit un belier, qui s'etait pris par les\n");
- printf(" cornes dans un buisson, et Abraham alla prendre le belier et l'offrit\n");
- printf(" en holocauste a la place de son fils. A ce lieu, Abraham donna le nom\n");
- printf(" de \"Yahve pourvoit\", en sorte que l'on dit aujourd'hui: \"Sur la\n");
- printf(" montagne. Yahve pourvoit.\"\n");
- printf(" Gn 22, 13-14\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;
+ }
- if (!WIFEXITED(wait_status) || (WEXITSTATUS(wait_status) != 0 && WEXITSTATUS(wait_status) != exit_value_rescue)) {
- printf("install exited abnormally :-( ");
+ do {
+ childpid = wait4(-1, &wait_status, 0, NULL);
+ } while (childpid != installpid);
+ } while (WIFEXITED(wait_status) && WEXITSTATUS(wait_status) == exit_value_restart);
+
+ /* 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);
@@ -460,14 +603,22 @@ int main(int argc, char **argv)
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 8388416b7..000000000
--- a/mdk-stage1/insmod-busybox/Config.h
+++ /dev/null
@@ -1,132 +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 installing modules from pre 2.1 kernels
-//#define BB_FEATURE_INSMOD_OLD_KERNEL
-// Support installing modules from kernel versions after 2.1.18
-#define BB_FEATURE_INSMOD_NEW_KERNEL
-//
-// 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
-#ifndef BB_FEATURE_INSMOD_OLD_KERNEL
-#define BB_FEATURE_INSMOD_NEW_KERNEL
-#endif
-#endif
diff --git a/mdk-stage1/insmod-busybox/Makefile b/mdk-stage1/insmod-busybox/Makefile
deleted file mode 100644
index 9c0a60b79..000000000
--- a/mdk-stage1/insmod-busybox/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
- #******************************************************************************
- #
- # insmod from busybox (i386 only)
- #
- # $Id$
- #
- # Copyright (C) 1999,2000 by Lineo, inc.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-all: insmod insmod-DIET libinsmod.a libinsmod-DIET.a
-
-clean:
- rm -f *.o insmod libinsmod.a libinsmod-DIET.a
-
-
-FLAGS = -c -Wall -Os -fomit-frame-pointer -D_GNU_SOURCE -DBB_VER='"0.47"' -DBB_BT='"2000.12.06-14:02+0000"'
-
-
-insmod: insmod-frontend.o insmod.o utility-standalone.o
- gcc -o $@ $^
- $(STRIPCMD) $@
-
-insmod-DIET: insmod-frontend-DIET.o insmod-DIET.o utility-standalone-DIET.o
- gcc $(DIETLIBC_LDFLAGS_STAGE1) -o $@ $^ $(DIETLIBC_LIBC)
- $(STRIPCMD) $@
-
-
-libinsmod.a: insmod.o utility.o
- ar cru $@ $^
- ranlib $@
-
-libinsmod-DIET.a: insmod-DIET.o utility-DIET.o
- ar cru $@ $^
- ranlib $@
-
-insmod-frontend.o: insmod-frontend.c busybox.h
- gcc $(FLAGS) $(GLIBC_INCLUDES) insmod-frontend.c
-
-insmod-frontend-DIET.o: insmod-frontend.c busybox.h
- gcc $(FLAGS) $(DIETLIBC_INCLUDES) -o $@ insmod-frontend.c
-
-utility.o: utility.c busybox.h
- gcc $(FLAGS) $(GLIBC_INCLUDES) utility.c
-
-utility-DIET.o: utility.c busybox.h
- gcc $(FLAGS) $(DIETLIBC_INCLUDES) -o $@ utility.c
-
-utility-standalone.o: utility.c busybox.h
- gcc $(FLAGS) $(GLIBC_INCLUDES) -o $@ -D_STANDALONE_ utility.c
-
-utility-standalone-DIET.o: utility.c busybox.h
- gcc $(FLAGS) $(DIETLIBC_INCLUDES) -o $@ -D_STANDALONE_ utility.c
-
-insmod.o: insmod.c busybox.h
- gcc $(FLAGS) $(GLIBC_INCLUDES) insmod.c
-
-insmod-DIET.o: insmod.c busybox.h
- gcc $(FLAGS) $(DIETLIBC_INCLUDES) -o $@ insmod.c
-
diff --git a/mdk-stage1/insmod-busybox/README b/mdk-stage1/insmod-busybox/README
deleted file mode 100644
index 06695074a..000000000
--- a/mdk-stage1/insmod-busybox/README
+++ /dev/null
@@ -1,8 +0,0 @@
-This insmod code comes from busybox-0.47
-
-ftp://ftp.lineo.com/pub/busybox
-
-It is cool but works only for ix86 architecture.
-
-
-gc
diff --git a/mdk-stage1/insmod-busybox/busybox.h b/mdk-stage1/insmod-busybox/busybox.h
deleted file mode 100644
index a2d620c8b..000000000
--- a/mdk-stage1/insmod-busybox/busybox.h
+++ /dev/null
@@ -1,467 +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
-
-#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 bdf7ba5f7..000000000
--- a/mdk-stage1/insmod-busybox/insmod.c
+++ /dev/null
@@ -1,2951 +0,0 @@
-/* vi: set sw=4 ts=4: */
-/*
- * Mini insmod implementation for busybox
- *
- * Copyright (C) 1999,2000 by Lineo, inc.
- * Written by Erik Andersen <andersen@lineo.com>
- * and Ron Alder <alder@lineo.com>
- *
- * Modified by Bryan Rittmeyer <bryan@ixiacom.com> to support SH4
- * and (theoretically) SH3. Note that there is still no true
- * multiple architecture support. You just get SH3|SH4|i386, despite
- * the mention of ARM and m68k--which may or may not work (but
- * almost certainly do not, due to at least MATCH_MACHINE). I have
- * only tested SH4 in little endian mode.
- *
- * 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 "busybox.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 <sys/utsname.h>
-
-//----------------------------------------------------------------------------
-//--------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 1
-
-#ident "$Id$"
-
-/* 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
-
-#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
-#define tgt_sizeof_long 8
-#define tgt_sizeof_char_p 8
-#define 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;
-};
-
-struct new_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
-
-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. */
-
-#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 *);
-
-
-#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
-#define MODUTILS_OBJ_H 1
-
-#ident "$Id$"
-
-/* The relocatable object is manipulated using elfin types. */
-
-#include <stdio.h>
-#include <elf.h>
-
-
-/* Machine-specific elf macros for i386 et al. */
-
-/* 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
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2LSB
-
-
-
-#if defined(__sh__)
-
-#define MATCH_MACHINE(x) (x == EM_SH)
-#define SHT_RELM SHT_RELA
-#define Elf32_RelM Elf32_Rela
-
-#else
-
-/* presumably we can use these for anything but the SH */
-/* this is the previous behavior, but it does result in
- insmod.c being broken on anything except i386 */
-
-#define MATCH_MACHINE(x) (x == EM_386)
-#define SHT_RELM SHT_REL
-#define Elf32_RelM Elf32_Rel
-
-#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. */
-
-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);
-
-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);
-
-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(FILE *f);
-
-int obj_create_image (struct obj_file *f, char *image);
-
-/* 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 new_module;
-int arch_init_module (struct obj_file *f, struct new_module *);
-
-#endif /* obj.h */
-//----------------------------------------------------------------------------
-//--------end of modutils obj.h
-//----------------------------------------------------------------------------
-
-
-
-
-
-#define _PATH_MODULES "/lib/modules"
-#define STRVERSIONLEN 32
-
-#if !defined(BB_FEATURE_INSMOD_NEW_KERNEL) && !defined(BB_FEATURE_INSMOD_OLD_KERNEL)
-#error "Must have ether BB_FEATURE_INSMOD_NEW_KERNEL or BB_FEATURE_INSMOD_OLD_KERNEL defined"
-#endif
-
-/*======================================================================*/
-
-int flag_force_load = 1;
-int flag_autoclean = 0;
-int flag_export = 1;
-
-
-/*======================================================================*/
-
-/* previously, these were named i386_* but since we could be
- compiling for the sh, I've renamed them to the more general
- arch_* These structures are the same between the x86 and SH,
- and we can't support anything else right now anyway. In the
- future maybe they should be #if defined'd */
-
-struct arch_got_entry {
- int offset;
- unsigned offset_done:1;
- unsigned reloc_done:1;
-};
-
-struct arch_file {
- struct obj_file root;
- struct obj_section *got;
-};
-
-struct arch_symbol {
- struct obj_symbol root;
- struct arch_got_entry gotent;
-};
-
-
-struct external_module {
- const char *name;
- ElfW(Addr) addr;
- int used;
- size_t nsyms;
- struct new_module_symbol *syms;
-};
-
-struct new_module_symbol *ksyms;
-size_t nksyms;
-
-struct external_module *ext_modules;
-int n_ext_modules;
-int n_ext_modules_used;
-
-
-
-/* Some firendly syscalls to cheer everyone's day... */
-#define __NR_new_sys_init_module __NR_init_module
-_syscall2(int, new_sys_init_module, const char *, name,
- const struct new_module *, info)
-#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)
-#ifndef BB_RMMOD
-_syscall1(int, delete_module, const char *, name)
-#else
-extern int delete_module(const char *);
-#endif
-
-/* This is kind of troublesome. See, we don't actually support
- the m68k or the arm the same way we support i386 and (now)
- sh. In doing my SH patch, I just assumed that whatever works
- for i386 also works for m68k and arm since currently insmod.c
- does nothing special for them. If this isn't true, the below
- line is rather misleading IMHO, and someone should either
- change it or add more proper architecture-dependent support
- for these boys.
-
- -- Bryan Rittmeyer <bryan@ixiacom.com> */
-
-#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
-static char m_filename[BUFSIZ + 1] = "\0";
-static char m_fullName[BUFSIZ + 1] = "\0";
-
-/*======================================================================*/
-
-
-/*======================================================================*/
-
-struct obj_file *arch_new_file(void)
-{
- struct arch_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 arch_symbol *sym;
- sym = xmalloc(sizeof(*sym));
- memset(&sym->gotent, 0, sizeof(sym->gotent));
- return &sym->root;
-}
-
-enum obj_reloc
-arch_apply_relocation(struct obj_file *f,
- struct obj_section *targsec,
- struct obj_section *symsec,
- struct obj_symbol *sym,
-#if defined(__sh__)
- Elf32_Rela * rel, Elf32_Addr v)
-#else
- Elf32_Rel * rel, Elf32_Addr v)
-#endif
-{
- struct arch_file *ifile = (struct arch_file *) f;
- struct arch_symbol *isym = (struct arch_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)) {
-
-/* even though these constants seem to be the same for
- the i386 and the sh, we "#if define" them for clarity
- and in case that ever changes */
-#if defined(__sh__)
- case R_SH_NONE:
-#else
- case R_386_NONE:
-#endif
- break;
-
-#if defined(__sh__)
- case R_SH_DIR32:
-#else
- case R_386_32:
-#endif
- *loc += v;
- break;
-
-#if defined(__sh__)
- case R_SH_REL32:
-#else
- case R_386_PLT32:
- case R_386_PC32:
-#endif
- *loc += v - dot;
- break;
-
-#if defined(__sh__)
- case R_SH_PLT32:
- *loc = v - dot;
- break;
-#endif
-
-
-#if defined(__sh__)
- case R_SH_GLOB_DAT:
- case R_SH_JMP_SLOT:
- *loc = v;
- break;
-#else
- case R_386_GLOB_DAT:
- case R_386_JMP_SLOT:
- *loc = v;
- break;
-#endif
-
-#if defined(__sh__)
- case R_SH_RELATIVE:
- *loc += f->baseaddr + rel->r_addend;
- break;
-#else
- case R_386_RELATIVE:
- *loc += f->baseaddr;
- break;
-#endif
-
-#if defined(__sh__)
- case R_SH_GOTPC:
- assert(got != 0);
- *loc += got - dot + rel->r_addend;;
- break;
-#else
- case R_386_GOTPC:
- assert(got != 0);
- *loc += got - dot;
- break;
-#endif
-
-#if defined(__sh__)
- case R_SH_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 + rel->r_addend;
- break;
-#else
- 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;
-#endif
-
-#if defined(__sh__)
- case R_SH_GOTOFF:
-#else
- case R_386_GOTOFF:
-#endif
- assert(got != 0);
- *loc += v - got;
- break;
-
- default:
- ret = obj_reloc_unhandled;
- break;
- }
-
- return ret;
-}
-
-int arch_create_got(struct obj_file *f)
-{
- struct arch_file *ifile = (struct arch_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;
-#if defined(__sh__)
- Elf32_Rela *rel, *relend;
-#else
- Elf32_Rel *rel, *relend;
-#endif
- 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];
-
-
-#if defined(__sh__)
- rel = (Elf32_Rela *) relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf32_Rela));
-#else
- rel = (Elf32_Rel *) relsec->contents;
- relend = rel + (relsec->header.sh_size / sizeof(Elf32_Rel));
-#endif
- symtab = (Elf32_Sym *) symsec->contents;
- strtab = (const char *) strsec->contents;
-
- for (; rel < relend; ++rel) {
- Elf32_Sym *extsym;
- struct arch_symbol *intsym;
- const char *name;
-
- switch (ELF32_R_TYPE(rel->r_info)) {
-#if defined(__sh__)
- case R_SH_GOTPC:
- case R_SH_GOTOFF:
-#else
- case R_386_GOTPC:
- case R_386_GOTOFF:
-#endif
- gotneeded = 1;
- default:
- continue;
-
-#if defined(__sh__)
- case R_SH_GOT32:
-#else
- case R_386_GOT32:
-#endif
- break;
- }
-
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym =
- (struct arch_symbol *) obj_find_symbol(&ifile->root, name);
-
- 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);
-
- return 1;
-}
-
-int arch_init_module(struct obj_file *f, struct new_module *mod)
-{
- return 1;
-}
-
-
-/*======================================================================*/
-
-/* 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));
-}
-
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
-/* Get the kernel version in the canonical integer form. */
-
-static int get_kernel_version(char str[STRVERSIONLEN])
-{
- struct utsname uts_info;
- char *p, *q;
- int a, b, c;
-
- if (uname(&uts_info) < 0)
- return -1;
- strncpy(str, uts_info.release, STRVERSIONLEN);
- p = uts_info.release;
-
- 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;
-}
-
-/* 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);
-}
-
-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 */
-
-
-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)
- errorMsg("%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)
- f->local_symtab[symidx] = sym;
-
- found:
- sym->name = name;
- sym->value = value;
- sym->size = size;
- sym->secidx = secidx;
- sym->info = info;
-
- 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;
-}
-
-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;
-}
-
-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)
-{
- 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;
-}
-
-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;
-}
-
-
-
-/* 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) {
- errorMsg("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') {
- errorMsg("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 *loc = 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, loc - contents, q);
- loc += sizeof(char *);
- q = r;
- }
-
- /* last part */
- obj_string_patch(f, sym->secidx, loc - 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;
- 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_INSMOD_OLD_KERNEL
-
-/* 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) {
- errorMsg("get_kernel_syms: %s: %s", m_name, strerror(errno));
- return 0;
- }
-
- ks = k = xmalloc(nks * sizeof(*ks));
-
- if (get_kernel_syms(ks) != nks) {
- logperror("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;
- struct new_module_symbol *s;
-
- /* 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;
-
- 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_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)
- errorMsg("init_module: %s: %s", m_name, strerror(errno));
-
- 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_INSMOD_OLD_KERNEL */
-
-
-
-/*======================================================================*/
-/* 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) {
- errorMsg("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) {
- errorMsg("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') {
- errorMsg("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))) {
- errorMsg("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) {
- errorMsg("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:
- errorMsg("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) {
- errorMsg("too many values for %s (max %d)", key, max);
- return 0;
- }
- ++q;
- break;
-
- default:
- errorMsg("invalid argument syntax for %s", key);
- return 0;
- }
- }
-
- end_of_arg:
- if (n < min) {
- errorMsg("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;
- 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_INSMOD_NEW_KERNEL
-
-/* 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) {
- module_names = xrealloc(module_names, bufsize = ret);
- goto retry_modules_load;
- }
- errorMsg("QM_MODULES: %s", strerror(errno));
- return 0;
- }
-
- n_ext_modules = nmod = ret;
- ext_modules = modules = xmalloc(nmod * sizeof(*modules));
- memset(modules, 0, nmod * sizeof(*modules));
-
- /* Collect the modules' symbols. */
-
- 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;
- }
- errorMsg("query_module: QM_INFO: %s: %s", mn, strerror(errno));
- 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:
- errorMsg("query_module: QM_SYMBOLS: %s: %s", mn, strerror(errno));
- 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) {
- syms = xrealloc(syms, bufsize = ret);
- goto retry_kern_sym_load;
- }
- errorMsg("kernel: QM_SYMBOLS: %s", strerror(errno));
- 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");
- 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;
- }
-
- 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)
- errorMsg("init_module: %s: %s", m_name, strerror(errno));
-
- 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)
-
-#endif /* BB_FEATURE_INSMOD_OLD_KERNEL */
-
-
-/*======================================================================*/
-
-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;
-}
-
-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;
-}
-
-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 {
- errorMsg("unresolved symbol %s", sym->name);
- ret = 0;
- }
- }
- }
-
- return ret;
-}
-
-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) {
- s->contents = memset(xmalloc(s->header.sh_size),
- 0, s->header.sh_size);
- 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. */
-
- 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) {
- errorMsg("%s of type %ld for %s", errmsg,
- (long) ELFW(R_TYPE) (rel->r_info),
- strtab + extsym->st_name);
- } else {
- errorMsg("%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;
-}
-
-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->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;
-}
-
-/*======================================================================*/
-
-struct obj_file *obj_load(FILE * fp)
-{
- 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) {
- errorMsg("error reading ELF header: %s", strerror(errno));
- 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) {
- errorMsg("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)) {
- errorMsg("ELF file not for this architecture");
- return NULL;
- }
- if (f->header.e_type != ET_REL) {
- errorMsg("ELF file not a relocatable object");
- return NULL;
- }
-
- /* Read the section headers. */
-
- if (f->header.e_shentsize != sizeof(ElfW(Shdr))) {
- errorMsg("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) {
- errorMsg("error reading ELF section headers: %s", strerror(errno));
- 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);
- fseek(fp, sec->header.sh_offset, SEEK_SET);
- if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) {
- errorMsg("error reading ELF section data: %s", strerror(errno));
- return NULL;
- }
- } else {
- sec->contents = NULL;
- }
- break;
-
-#if SHT_RELM == SHT_REL
- case SHT_RELA:
- errorMsg("RELA relocations not supported on this architecture");
- return NULL;
-#else
- case SHT_REL:
- errorMsg("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;
- }
-
- errorMsg("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];
-
- 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))) {
- errorMsg("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 = 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;
-
- case SHT_RELM:
- if (sec->header.sh_entsize != sizeof(ElfW(RelM))) {
- errorMsg("relocation entry size mismatch: %lu != %lu",
- (unsigned long) sec->header.sh_entsize,
- (unsigned long) sizeof(ElfW(RelM)));
- return NULL;
- }
- break;
- }
- }
-
- return f;
-}
-
-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));
-}
-
-
-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[BUFSIZ + 1] = "\0";
- int exit_status = FALSE;
- int m_has_modinfo;
-#ifdef BB_FEATURE_INSMOD_VERSION_CHECKING
- int k_version;
- char k_strversion[STRVERSIONLEN];
- 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 */
- 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)) == 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? */
-
- k_version = get_kernel_version(k_strversion);
- 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) {
- errorMsg("couldn't find the kernel version the module was "
- "compiled for");
- goto out;
- }
- }
-
- if (strncmp(k_strversion, m_strversion, STRVERSIONLEN) != 0) {
- if (flag_force_load) {
- errorMsg("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, k_strversion);
- } else {
- errorMsg("kernel-module version mismatch\n"
- "\t%s was compiled for kernel version %s\n"
- "\twhile this kernel is version %s.",
- m_filename, m_strversion, k_strversion);
- 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_INSMOD_NEW_KERNEL
- if (!new_get_kernel_symbols())
- goto out;
- k_crcs = new_is_kernel_checksummed();
-#else
- errorMsg("Not configured to support new kernels");
- goto out;
-#endif
- } else {
-#ifdef BB_FEATURE_INSMOD_OLD_KERNEL
- if (!old_get_kernel_symbols(m_name))
- goto out;
- k_crcs = old_is_kernel_checksummed();
-#else
- errorMsg("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);
-
- 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);
-
-
- errno = 0;
- m_addr = create_module(m_name, m_size);
- switch (errno) {
- case 0:
- break;
- case EEXIST:
- errorMsg("A module named %s already exists", m_name);
- /* Considered as a success in stage1 */
- fclose(fp);
- return(TRUE);
- case ENOMEM:
- errorMsg("Can't allocate kernel memory for module; needed %lu bytes",
- m_size);
- goto out;
- default:
- errorMsg("create_module: %s: %s", m_name, strerror(errno));
- goto out;
- }
-
- 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 = TRUE;
-
-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 e8f78d2d0..000000000
--- a/mdk-stage1/insmod-modutils/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
- #******************************************************************************
- #
- # insmod from modutils (generic)
- #
- # $Id$
- #
- # Copyright 1996, 1997 Linux International.
- #
- #*****************************************************************************
-
-top_dir = ..
-
-include $(top_dir)/Makefile.common
-
-
-INCS = -I./include
-
-DEFS = -Wno-error -D_GNU_SOURCE -DELF_MACHINE_H='"elf_$(ARCH).h"' -DARCH_$(ARCH)
-
-
-DIRS = util obj
-
-all: dirs insmod libinsmod.a #libinsmod-DIET.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 libinsmod-DIET.a
-
-
-insmod: insmod-frontend.o insmod.o ./util/libutil-STANDALONE.a ./obj/libobj.a
- 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 $@
-
-libinsmod-DIET.a: insmod-DIET.o ./util/libutil-DIET.a ./obj/libobj-DIET.a
- ar cru $@ $^
- ranlib $@
-
-insmod-frontend.o: insmod-frontend.c insmod.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c insmod-frontend.c
-
-insmod.o: insmod.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c insmod.c
-
-insmod-DIET.o: insmod.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(DIETLIBC_INCLUDES) -o $@ -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 11da6a523..000000000
--- a/mdk-stage1/insmod-modutils/include/config.h
+++ /dev/null
@@ -1,105 +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 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_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 f1ec66f1c..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_alpha.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for the Alpha. */
-#ident "$Id$"
-
-#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 f6b531e88..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_arm.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for ARM. */
-#ident "$Id$"
-
-#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 c6c2d326e..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_i386.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for i386 et al. */
-#ident "$Id$"
-
-#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 817fc8f2c..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_m68k.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for m68k. */
-#ident "$Id$"
-
-#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 8a0430216..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_mips.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Machine-specific elf macros for MIPS. */
-#ident "$Id$"
-
-#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 71596de8c..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_ppc.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for the PowerPC. */
-#ident "$Id$"
-
-#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 547d66b83..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_s390.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for i386 et al. */
-#ident "$Id$"
-
-#define ELFCLASSM ELFCLASS32
-#define ELFDATAM ELFDATA2MSB
-
-#define MATCH_MACHINE(x) (x == EM_S390)
-
-#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 9b5c348d9..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_sparc.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Machine-specific elf macros for the Sparc. */
-#ident "$Id$"
-
-#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 158edd7e1..000000000
--- a/mdk-stage1/insmod-modutils/include/elf_sparc64.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Machine-specific elf macros for the Sparc. */
-#ident "$Id$"
-
-#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 9748873cf..000000000
--- a/mdk-stage1/insmod-modutils/include/kallsyms.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/* 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.
- */
-
-#ident "$Id$"
-
-#ifndef MODUTILS_KALLSYMS_H
-#define MODUTILS_KALLSYMS_H 1
-
-/* 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 3bc2c9d42..000000000
--- a/mdk-stage1/insmod-modutils/include/kerneld.h
+++ /dev/null
@@ -1,46 +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
-
-#ident "$Id$"
-
-#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 db49ab2b2..000000000
--- a/mdk-stage1/insmod-modutils/include/module.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/* 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 1
-
-#ident "$Id$"
-
-/* 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;
-
-#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 b140c65c3..000000000
--- a/mdk-stage1/insmod-modutils/include/obj.h
+++ /dev/null
@@ -1,275 +0,0 @@
-/* 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. */
-
-
-#ifndef MODUTILS_OBJ_H
-#define MODUTILS_OBJ_H 1
-
-#ident "$Id$"
-
-/* The relocatable object is manipulated using elfin types. */
-
-#include <stdio.h>
-#include <elf.h>
-#include ELF_MACHINE_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;
- unsigned 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 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);
-
-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 {
- Elf64_Xword addr;
- void *ptr;
-};
-
-void *obj_addr_to_native_ptr(ElfW(Addr));
-
-ElfW(Addr) obj_native_ptr_to_addr(void *);
-
-#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 b2e4a67c3..000000000
--- a/mdk-stage1/insmod-modutils/include/util.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* 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. */
-
-
-#ifndef MODUTILS_UTIL_H
-#define MODUTILS_UTIL_H 1
-
-#ident "$Id$"
-
-#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 51ca0eb29..000000000
--- a/mdk-stage1/insmod-modutils/include/version.h
+++ /dev/null
@@ -1 +0,0 @@
-#define MODUTILS_VERSION "2.4.2"
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 359b28837..000000000
--- a/mdk-stage1/insmod-modutils/insmod.c
+++ /dev/null
@@ -1,1964 +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.
- */
-
-#ident "$Id$"
-
-#include "../insmod.h"
-#include <sys/types.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-//#include <alloca.h> provided by stdlib
-#include <limits.h>
-#include <ctype.h>
-#include <errno.h>
-#include <stddef.h>
-#include <getopt.h>
-#include <sys/stat.h>
-#include <sys/file.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 n_ext_modules_used;
-static int m_has_modinfo;
-
-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);
-
-/*======================================================================*/
-
-/* 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);
- p = uts_info.release;
-
- 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;
-}
-
-/* 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)
-{
- 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;
-
- 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 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))
- 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);
-}
-
-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("%-16s%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));
- 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);
- 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));
- 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;
- 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);
-
- 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;
-}
-
-/* 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;
- 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,
- 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) {
- error("invalid parameter %s", key);
- return 0;
- }
- else {
- if (flag_verbose)
- lprintf("ignoring %s", *argv);
- continue; /* silently ignore optional parameters */
- }
- }
- 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);
-
- /* 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);
-
- /* 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");
- }
- }
-
- 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);
- 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);
- return(1);
- }
-
- switch (*p) {
- case 'c':
- if (!isdigit(p[1])) {
- lprintf("%s parameter %s has no size after 'c'!", error_file, key);
- 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);
- return(1);
- default:
- lprintf("%s parameter %s has unknown format character '%c'", error_file, key, *p);
- 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);
- 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;
-}
-
-
-/* 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 [-fhkLmnpqrsSvVxXyY] [-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"
- " -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'},
- {"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;
-
- error_file = "insmod";
-
- /* To handle repeated calls from combined modprobe */
- errors = optind = 0;
-
- /* Process the command line. */
- while ((o = getopt_long(argc, argv, "fhkLmnpqrsSvVxXyYe: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 '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");
- }
-
- 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; 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);
- } 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. */
- add_kernel_symbols(f);
-
- /* 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
-
- if (!obj_check_undefineds(f, quiet)) /* DEPMOD, obj_clear_undefineds */
- goto out;
- obj_allocate_commons(f); /* DEPMOD */
-
- check_module_parameters(f, &persist_parms);
-
- if (optind < argc) {
- if (!process_module_arguments(f, argc - optind, argv + optind, 1))
- goto out;
- }
- arch_create_got(f); /* DEPMOD */
- 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);
- 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;
- }
- 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 34b5df2d9..000000000
--- a/mdk-stage1/insmod-modutils/obj/Makefile
+++ /dev/null
@@ -1,33 +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
-
-OBJS = obj_kallsyms.o obj_common.o obj_load.o obj_reloc.o obj_$(ARCH).o
-
-libobj.a: $(OBJS)
- ar cru $@ $^
- ranlib $@
-
-.c.o:
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_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 4006b3442..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_alpha.c
+++ /dev/null
@@ -1,305 +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. */
-
-#ident "$Id$"
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-/*======================================================================*/
-
-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;
- 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_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;
- }
-
- *iloc = (*iloc & ~0xffff) | ((gotent->offset - 0x8000) & 0xffff);
- }
- 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;
- Elf64_Sym *extsym;
- struct alpha_symbol *intsym;
- const char *name;
-
- if (ELF64_R_TYPE(rel->r_info) != R_ALPHA_LITERAL)
- continue;
-
- extsym = &symtab[ELF64_R_SYM(rel->r_info)];
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct alpha_symbol *)obj_find_symbol(&af->root, name);
-
- 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 GPREL32 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);
-
- 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 7a843f947..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_arm.c
+++ /dev/null
@@ -1,318 +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. */
-
-#ident "$Id$"
-
-#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, *name;
- 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:
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct arm_symbol *) obj_find_symbol(f, name);
-
- 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:
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct arm_symbol *) obj_find_symbol(f, name);
-
- 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);
- assert(sec);
- }
- afile->got = sec;
- }
-
- if (plt_offset)
- afile->plt = obj_create_alloced_section(f, ".plt", 8, plt_offset);
-
- 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 2a6606c94..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_common.c
+++ /dev/null
@@ -1,399 +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. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <string.h>
-#include <assert.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;
-}
-
-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;
-#if defined(ARCH_ia64)
- if (af & SHF_IA_64_SHORT) ac -= 1;
-#endif
-
- 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)
-{
- 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;
-}
-
-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 4207e692e..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_hppa.c
+++ /dev/null
@@ -1,668 +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
-};
-
-/* This could be a call to obj_create_alloced_section() followed
- * by an overwrite of sec->header.sh_flags.
- */
-
-struct obj_section *
-obj_hppa_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)
-{
- 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 data_start), and we can fix up any
- DPREL refs in the module to use that same dp value.
- All PCREL17F refs result in a stub with the following format:
-
- ldil L'func_addr,%r1
- be,n R'func_addr(%sr4,%r1)
-
- Note, all PCREL17F 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);
-
- /* 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:
- need_stub = 1;
- break;
- }
-
- if (need_stub)
- {
- Elf32_Sym *extsym;
- hppa_symbol_t *hsym;
- char const *name;
- int local;
- unsigned long symndx;
-
- symndx = ELF32_R_SYM(rel->r_info);
- extsym = symtab + symndx;
- if (ELF32_ST_BIND(extsym->st_info) == STB_LOCAL)
- hsym = (hppa_symbol_t *) f->local_symtab[symndx];
- else
- {
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- hsym = (hppa_symbol_t *)obj_find_symbol(f, name);
- }
- 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_DPREL21L:
- case R_PARISC_DPREL14R:
- v -= dp;
- break;
-
- case R_PARISC_PCREL17F:
- /* 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:
- 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:
- 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;
-
- 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 data_start)
- */
- for (i = 0, s = ksyms; i < nksyms; i++, s++)
- if (!strcmp((char *)s->name, "data_start"))
- break;
- if (i >= nksyms) {
- error("Cannot initialise dp, 'data_start' 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 fe32911ff..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_hppa64.c
+++ /dev/null
@@ -1,686 +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.
- */
-
-#ident "$Id$"
-
-#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 screw
- * dp:
- *
- * 53 61 00 00 ldd 0(dp),r1
- * R_PARISC_LTOFF14R <.got entry offset from dp>
- * 50 21 00 20 ldd 10(r1),r1
- * e8 20 d0 00 bve (r1)
- * 08 00 02 40 nop
- *
- */
-
-/* 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[] =
-{
- 0x53, 0x61, 0x00, 0x00,
- 0x50, 0x21, 0x00, 0x20,
- 0xe8, 0x20, 0xd0, 0x00,
- 0x08, 0x00, 0x02, 0x40,
-};
-
-/*======================================================================*/
-
-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:
- 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)
- {
- Elf64_Sym *extsym;
- hppa64_symbol_t *isym;
- const char *name;
- int local;
- unsigned long symndx;
-
- symndx = ELF64_R_SYM(rel->r_info);
- extsym = &symtab[symndx];
- if (ELF64_ST_BIND(extsym->st_info) == STB_LOCAL)
- {
- isym = (hppa64_symbol_t *) f->local_symtab[symndx];
- }
- else
- {
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- isym = (hppa64_symbol_t *)obj_find_symbol(f, name);
- }
- 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;
- else
- stub = hppa64_stub_extern;
- se->reloc_done = TRUE;
- 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));
- }
- 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_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 28df3448c..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_i386.c
+++ /dev/null
@@ -1,245 +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. */
-
-#ident "$Id$"
-
-#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)
- {
- Elf32_Sym *extsym;
- struct i386_symbol *intsym;
- const char *name;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_386_GOTPC:
- case R_386_GOTOFF:
- gotneeded = 1;
- default:
- continue;
-
- case R_386_GOT32:
- break;
- }
-
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct i386_symbol *)obj_find_symbol(&ifile->root, name);
-
- 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);
-
- 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 4f92c5d27..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_ia64.c
+++ /dev/null
@@ -1,1065 +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.
- */
-
-#ident "$Id$"
-
-#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 == 1);
- ins = obj_ia64_ins_extract_from_bundle(bundle, slot);
- ins &= 0xffffffee000101ff;
- ins |= ((v & 0x8000000000000000) >> 28) | ((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_section *
-obj_ia64_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)
-{
- 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)
- {
- Elf64_Sym *extsym;
- ia64_symbol_t *isym;
- const char *name;
- int local;
- unsigned long symndx;
-
- symndx = ELF64_R_SYM(rel->r_info);
- extsym = &symtab[symndx];
- if (ELF64_ST_BIND(extsym->st_info) == STB_LOCAL)
- {
- isym = (ia64_symbol_t *) f->local_symtab[symndx];
- }
- else
- {
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- isym = (ia64_symbol_t *)obj_find_symbol(f, name);
- }
- 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_ia64_create_alloced_section(f, ".got", 8, got_offset,
- (SHF_ALLOC | SHF_WRITE | SHF_IA_64_SHORT));
- assert(ifile->got != NULL);
-
- ifile->opd = obj_ia64_create_alloced_section(f, ".opd", 16, opd_offset,
- (SHF_ALLOC | SHF_WRITE | SHF_IA_64_SHORT));
- assert(ifile->opd != NULL);
-
- if (plt_text_offset > 0)
- {
- ifile->pltt = obj_ia64_create_alloced_section(f, ".plt", 16,
- plt_text_offset, (SHF_ALLOC | SHF_EXECINSTR | SHF_IA_64_SHORT));
- ifile->pltd = obj_ia64_create_alloced_section(f, ".IA_64.pltoff",
- 16, plt_data_offset, (SHF_ALLOC | 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 */
- if (targsec->header.sh_type & SHT_NOBITS)
- v = ifile->bss - v;
- else if (targsec->header.sh_flags & SHF_EXECINSTR)
- v = ifile->text - v;
- else
- v = ifile->data - v;
- 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 8385fb892..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_kallsyms.c
+++ /dev/null
@@ -1,292 +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. */
-
-#ident "$Id$"
-
-#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)
-{
- int 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)
-{
- int 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 4db20a998..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_load.c
+++ /dev/null
@@ -1,354 +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. */
-
-#ident "$Id$"
-
-#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("error reading ELF header %s: %m", 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;
- 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];
- strtab = f->sections[symtab->header.sh_link]->contents;
-
- /* Save the relocate type in each symbol entry. */
- for (j = 0; j < nrel; ++j, ++rel)
- {
- ElfW(Sym) *extsym;
- struct obj_symbol *intsym;
- unsigned long symndx;
- symndx = ELFW(R_SYM)(rel->r_info);
- if (symndx)
- {
- extsym = ((ElfW(Sym) *) symtab->contents) + 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);
- }
- 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 cb485aed7..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_m68k.c
+++ /dev/null
@@ -1,147 +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. */
-
-#ident "$Id$"
-
-#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 c2315b659..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_mips.c
+++ /dev/null
@@ -1,238 +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. */
-
-#ident "$Id$"
-
-#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 *fin, struct obj_section *sec)
-{
- 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 89bb8e46b..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_ppc.c
+++ /dev/null
@@ -1,255 +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. */
-
-#ident "$Id$"
-
-#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, *extsym;
- const char *strtab, *name;
- 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;
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct ppc_symbol *) obj_find_symbol(f, name);
-
- 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);
-
- 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_reloc.c b/mdk-stage1/insmod-modutils/obj/obj_reloc.c
deleted file mode 100644
index f5f2de90d..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_reloc.c
+++ /dev/null
@@ -1,435 +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. */
-
-#ident "$Id$"
-
-#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);
- 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;
-
- 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);
- }
-
-#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";
- goto bad_reloc;
- case obj_reloc_constant_gp:
- errmsg = "Modules compiled with -mconstant-gp cannot be loaded";
- goto bad_reloc;
- bad_reloc:
- if (extsym)
- {
- error("%s of type %ld for %s", errmsg,
- (long)ELFW(R_TYPE)(rel->r_info),
- strtab + extsym->st_name);
- }
- else
- {
- error("%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_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 3da72e771..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_s390.c
+++ /dev/null
@@ -1,245 +0,0 @@
-/* S/390 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. */
-
-#ident "$Id$"
-
-#include <string.h>
-#include <assert.h>
-
-#include <module.h>
-#include <obj.h>
-#include <util.h>
-
-
-/*======================================================================*/
-
-struct s390_got_entry
-{
- int offset;
- unsigned offset_done : 1;
- unsigned reloc_done : 1;
-};
-
-struct s390_file
-{
- struct obj_file root;
- struct obj_section *got;
-};
-
-struct s390_symbol
-{
- struct obj_symbol root;
- struct s390_got_entry gotent;
-};
-
-
-/*======================================================================*/
-
-struct obj_file *
-arch_new_file (void)
-{
- struct s390_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 s390_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_Rela *rel,
- Elf32_Addr v)
-{
- struct s390_file *ifile = (struct s390_file *)f;
- struct s390_symbol *isym = (struct s390_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_390_NONE:
- break;
-
- case R_390_32:
- *loc += v;
- break;
-
- case R_390_PLT32:
- case R_390_PC32:
- *loc += v - dot;
- 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);
- *loc += got - dot;
- break;
-
- case R_390_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_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, 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)
- {
- Elf32_Sym *extsym;
- struct s390_symbol *intsym;
- const char *name;
-
- switch (ELF32_R_TYPE(rel->r_info))
- {
- case R_390_GOTPC:
- case R_390_GOTOFF:
- gotneeded = 1;
- default:
- continue;
-
- case R_390_GOT32:
- break;
- }
-
- extsym = &symtab[ELF32_R_SYM(rel->r_info)];
- if (extsym->st_name)
- name = strtab + extsym->st_name;
- else
- name = f->sections[extsym->st_shndx]->name;
- intsym = (struct s390_symbol *)obj_find_symbol(&ifile->root, name);
-
- 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);
-
- return 1;
-}
-
-int
-arch_init_module (struct obj_file *f, struct module *m)
-{
- 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 1a03c9090..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_sparc.c
+++ /dev/null
@@ -1,226 +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. */
-
-#ident "$Id$"
-
-#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 84e8d18a0..000000000
--- a/mdk-stage1/insmod-modutils/obj/obj_sparc64.c
+++ /dev/null
@@ -1,352 +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. */
-
-#ident "$Id$"
-
-#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 763f046f2..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 #libutil-DIET.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
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -o $@ -D_STANDALONE_ -c logger.c
-
-.c.o:
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_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 c925a04f3..000000000
--- a/mdk-stage1/insmod-modutils/util/alias.h
+++ /dev/null
@@ -1,244 +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-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-56 ide-probe-mod",
- "block-major-57 ide-probe-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> */
-
- "char-major-4 serial",
- "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 off", /* rtc cannot be compiled as a module */
- "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-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-99 ppdev",
- "char-major-107 3dfx", /* from Tigran Aivazian <tigran@sco.COM> */
- "char-major-161 ircomm-tty",
-
- "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",
-
- "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 */
- /* 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",
- "plip0 plip",
- "plip1 plip",
- "cipcb0 cipcb",
- "cipcb1 cipcb",
- "cipcb2 cipcb",
- "cipcb3 cipcb",
- "ppp0 ppp",
- "ppp1 ppp",
- "scsi_hostadapter off", /* if not in config file */
- "slip0 slip",
- "slip1 slip",
- "tty-ldisc-1 slip",
- "tty-ldisc-3 ppp",
- "ppp-compress-21 bsd_comp",
- "ppp-compress-24 ppp_deflate",
- "ppp-compress-26 ppp_deflate",
-
-#ifndef __sparc__
- "parport_lowlevel parport_pc",
-#else
- "parport_lowlevel parport_ax",
-#endif
-
- "tty-ldisc-11 irtty",
-
- "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[] =
-{
- 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 "prune"s,
- * used to exclude paths from scan of /lib/modules.
- * /etc/modules.conf can add entries but not remove them.
- */
-char *prune[] =
-{
- ".rhkmvtag",
- "modules.dep",
- "modules.generic_string",
- "modules.pcimap",
- "modules.isapnpmap",
- "modules.usbmap",
- "modules.parportmap",
- "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 4d5ace223..000000000
--- a/mdk-stage1/insmod-modutils/util/arch64.c
+++ /dev/null
@@ -1,35 +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. */
-
-#ident "$Id$"
-
-#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 u;
- return(!uname(&u) && strstr(u.machine, "64"));
-}
diff --git a/mdk-stage1/insmod-modutils/util/config.c b/mdk-stage1/insmod-modutils/util/config.c
deleted file mode 100644
index a860920f6..000000000
--- a/mdk-stage1/insmod-modutils/util/config.c
+++ /dev/null
@@ -1,1591 +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},
- {"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[100];
- 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);
-
- /* 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(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 (all && !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 */
-
- /* 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;
- }
-
- 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 3b790df5a..000000000
--- a/mdk-stage1/insmod-modutils/util/logger.c
+++ /dev/null
@@ -1,163 +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
- */
-
-#ident "$Id$"
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <syslog.h>
-
-#include "util.h"
-
-/*======================================================================*/
-
-int errors;
-const char *error_file;
-int log;
-
-#define STOREMSG
-#ifdef STOREMSG
-struct cbuf {
- struct cbuf *next;
- int type;
- char *msg;
-} *head, *tail;
-
-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;
-}
-
-#endif /* STOREMSG */
-
-static void dumpmsg(void)
-{
- for (;head; head = head->next)
- syslog(head->type, "%s", head->msg);
-}
-
-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;
-
-void error(const char *fmt,...)
-{
- va_list args;
-
- if (silent)
- ;
- else if (log) {
- char buf[1024];
- 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[1024];
- 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 ae0cc7c79..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
- */
-
-#ident "$Id$"
-
-#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);
- 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");
- 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 851fb709e..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_cm.c
+++ /dev/null
@@ -1,88 +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. */
-
-#ident "$Id$"
-
-#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 a166a30f4..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_dm.c
+++ /dev/null
@@ -1,37 +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. */
-
-#ident "$Id$"
-
-#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 f71772c71..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_gks.c
+++ /dev/null
@@ -1,37 +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. */
-
-#ident "$Id$"
-
-#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 bbe42135c..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_nim.c
+++ /dev/null
@@ -1,53 +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. */
-
-#ident "$Id$"
-
-#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 73ac6be52..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_oim.c
+++ /dev/null
@@ -1,40 +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. */
-
-#ident "$Id$"
-
-#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 119a219a2..000000000
--- a/mdk-stage1/insmod-modutils/util/sys_qm.c
+++ /dev/null
@@ -1,56 +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. */
-
-#ident "$Id$"
-
-#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 9113d47fe..000000000
--- a/mdk-stage1/insmod-modutils/util/xmalloc.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. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include "util.h"
-
-
-/*======================================================================*/
-
-void *
-xmalloc(size_t size)
-{
- void *ptr = malloc(size);
- 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 d287486f7..000000000
--- a/mdk-stage1/insmod-modutils/util/xrealloc.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. */
-
-#ident "$Id$"
-
-#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 abb075c83..000000000
--- a/mdk-stage1/insmod-modutils/util/xstrcat.c
+++ /dev/null
@@ -1,40 +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. */
-
-#ident "$Id"
-
-#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 11b289eb0..000000000
--- a/mdk-stage1/insmod-modutils/util/xstrdup.c
+++ /dev/null
@@ -1,41 +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. */
-
-#ident "$Id$"
-
-#include <stdlib.h>
-#include <stdio.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 edb995268..000000000
--- a/mdk-stage1/insmod-modutils/util/xsystem.c
+++ /dev/null
@@ -1,51 +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. */
-
-#ident "$Id"
-
-#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 5379c96dd..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.
@@ -31,27 +31,35 @@
#include "log.h"
+static FILE * logtty = NULL;
static FILE * logfile = NULL;
void vlog_message(const char * s, va_list args)
{
- fprintf(logfile, "* ");
- vfprintf(logfile, s, args);
- fprintf(logfile, "\n");
- fflush(logfile);
+ va_list args_copy;
+ va_copy(args_copy, args);
+
+ if (logfile) {
+ fprintf(logfile, "* ");
+ vfprintf(logfile, s, args);
+ fprintf(logfile, "\n");
+ fflush(logfile);
+ }
+ if (logtty) {
+ fprintf(logtty, "* ");
+ vfprintf(logtty, s, args_copy);
+ fprintf(logtty, "\n");
+ fflush(logtty);
+ }
+
+ va_end(args_copy);
}
void log_message(const char * s, ...)
{
va_list args;
-
- if (!logfile) {
- fprintf(stderr, "Log is not open!\n");
- return;
- }
-
va_start(args, s);
vlog_message(s, args);
va_end(args);
@@ -59,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));
}
@@ -68,9 +76,8 @@ void log_perror(char *msg)
void open_log(void)
{
if (!IS_TESTING) {
- logfile = fopen("/dev/tty3", "w");
- if (!logfile)
- logfile = fopen("/tmp/install.log", "a");
+ logtty = fopen("/dev/tty3", "w");
+ logfile = fopen("/tmp/stage1.log", "w");
}
else
logfile = fopen("debug.log", "w");
@@ -81,5 +88,7 @@ void close_log(void)
if (logfile) {
log_message("stage1: disconnecting life support systems");
fclose(logfile);
+ if (logtty)
+ fclose(logtty);
}
}
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 801785947..000000000
--- a/mdk-stage1/mar/Makefile
+++ /dev/null
@@ -1,61 +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
-
-
-ifeq (DIETLIBC, $(L))
-TARGETS += libmar-DIET.a
-endif
-
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o libmar.a libmar-DIET.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 $@
-
-libmar-DIET.a: mar-extract-only-DIET.o
- ar -cru $@ $^
- ranlib $@
-
-mar-extract-only.o: mar-extract-only.c mar-extract-only.h mar.h
- gcc $(CFLAGS) $(GLIBC_INCLUDES) -c mar-extract-only.c
-
-mar-extract-only-DIET.o: mar-extract-only.c mar-extract-only.h mar.h
- gcc $(CFLAGS) $(DIETLIBC_INCLUDES) -o $@ -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 723cc376d..000000000
--- a/mdk-stage1/mar/mar-extract-only.c
+++ /dev/null
@@ -1,207 +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, 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 2e87626db..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) != 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 77b65accc..000000000
--- a/mdk-stage1/minilibc.c
+++ /dev/null
@@ -1,251 +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))
-{
- return 0;
-}
-
-void exit()
-{
- _do_exit(0);
- for (;;); /* Shut up gcc */
-}
-
-
-char ** _environ = NULL;
-int errno = 0;
-
-void _init (int __status)
-{
-}
-
-void __libc_init_first (int __status)
-{
-}
-
-int __libc_start_main (int (*main) (int, char **, char **), int argc,
- char **argv, void (*init) (void), void (*fini) (void),
- void (*rtld_fini) (void), void *stack_end)
-{
- exit ((*main) (argc, argv, NULL));
- /* never get here */
- return 0;
-}
-
-void _fini (int __status)
-{
-}
-
-inline int socket(int a, int b, int c)
-{
- unsigned long args[] = { a, b, c };
-
- return socketcall(SYS_SOCKET, args);
-}
-
-inline int bind(int a, void * b, int c)
-{
- unsigned long args[] = { a, (long) b, c };
-
- return socketcall(SYS_BIND, args);
-}
-
-inline int listen(int a, int b)
-{
- unsigned long args[] = { a, b, 0 };
-
- return socketcall(SYS_LISTEN, args);
-}
-
-inline int accept(int a, void * addr, void * addr2)
-{
- unsigned long args[] = { a, (long) addr, (long) addr2 };
-
- return socketcall(SYS_ACCEPT, args);
-}
-
-
-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 e0775e3a0..000000000
--- a/mdk-stage1/minilibc.h
+++ /dev/null
@@ -1,144 +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/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/posix_types.h>
-#include <asm/termios.h>
-#include <asm/ioctls.h>
-#include <asm/unistd.h>
-#include <asm/fcntl.h>
-#include <asm/signal.h>
-
-
-#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)
-static inline _syscall2(int,signal,int,num,void *,len)
-static inline _syscall1(int,umount,const char *,dir)
-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)
-static inline _syscall2(int,socketcall,int,code,unsigned long *, args)
-#define __NR__do_exit __NR_exit
-extern inline _syscall1(int,_do_exit,int,exitcode)
-#endif
-
-#define select _newselect
-
-extern int errno;
-
-inline int socket(int a, int b, int c);
-inline int bind(int a, void * b, int c);
-inline int listen(int a, int b);
-inline 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 dac13ff7c..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", 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) != 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;
+
+ log_message("loading modules descriptions");
- modules_deps = malloc(sizeof(*modules_deps) * (line+1));
+ 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,54 +149,32 @@ 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");
}
}
static void add_modules_conf(char * str)
{
- static char data[500] = "";
- char * target = "/etc/modules.conf";
+ static char data[5000] = "";
+ char * target = "/tmp/modules.conf";
int fd;
if (strlen(data) + strlen(str) >= sizeof(data))
@@ -190,99 +190,166 @@ static void add_modules_conf(char * str)
return;
}
- if (write(fd, data, strlen(data) + 1) != strlen(data) + 1)
+ if (write(fd, data, strlen(data) + 1) != (ssize_t) (strlen(data) + 1))
log_perror(str);
close(fd);
}
-static int module_already_present(const char * name)
+int module_already_present(const char * name)
{
FILE * f;
+ struct stat sb;
+ char *path;
int answ = 0;
- f = fopen("/proc/modules", "rb");
- while (1) {
- char buf[500];
- if (!fgets(buf, sizeof(buf), f)) break;
- if (!strncmp(name, buf, strlen(name)) && buf[strlen(name)] == ' ')
+
+ if ((f = fopen("/proc/modules", "rb"))) {
+ while (1) {
+ char buf[500];
+ if (!fgets(buf, sizeof(buf), f)) break;
+ if (!strncmp(name, buf, strlen(name)) && buf[strlen(name)] == ' ')
+ answ = 1;
+ }
+ 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);
}
- fclose(f);
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
-enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char * options)
+#ifndef DISABLE_NETWORK
+enum insmod_return my_modprobe(const char * mod_name, enum driver_type type, char * options)
+#else
+enum insmod_return my_modprobe(const char * mod_name, enum driver_type type __attribute__ ((unused)), char * options)
+#endif
{
- char alias[500];
int i;
-#ifndef DISABLE_MEDIAS
- static int number_scsi = 0;
-#endif
#ifndef DISABLE_NETWORK
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_MEDIAS
- if (type == SCSI_ADAPTERS) {
- if (number_scsi > 0)
- sprintf(alias, "alias scsi_hostadapter%d %s", number_scsi, mod_name);
- else
- sprintf(alias, "alias scsi_hostadapter %s", mod_name);
- number_scsi++;
- add_modules_conf(alias);
- log_message("SCSI: %s", alias);
- }
-#endif
#ifndef DISABLE_NETWORK
if (type == NETWORK_DEVICES) {
char ** new_net_devices = get_net_devices();
while (new_net_devices && *new_net_devices) {
+ char alias[500];
char ** ptr = net_devices;
while (ptr && *ptr) {
if (!strcmp(*new_net_devices, *ptr))
@@ -292,7 +359,6 @@ enum insmod_return my_insmod(const char * mod_name, enum driver_type type, char
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++;
@@ -319,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;
}
@@ -331,116 +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 */
+ qsort(dlist, string_array_length(dlist), sizeof(char *), strsortfunc);
- if (type == SCSI_ADAPTERS)
- mytype = "SCSI";
- else if (type == NETWORK_DEVICES)
- mytype = "NET";
- else
- return RETURN_ERROR;
+ unset_automatic(); /* we are in a fallback mode */
- if (disable_modules)
- return RETURN_BACK;
-
- 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);
}
diff --git a/mdk-stage1/modules.h b/mdk-stage1/modules.h
index a5fccb609..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,13 +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 b41604cfe..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,98 +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 */
-static 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;
- 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 (name[0] == 's' && name[1] == 'd') {
- /* 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 (name[0] == 'h' && name[1] == 'd') {
- /* 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
- return -1;
-
- if (name[3] && name[4])
- minor += 10 + (name[4] - '0');
- else if (name[3])
- minor += (name[3] - '0');
- } else if (name[0] == 's' && name[1] == 'r') {
- /* 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 */
- char * 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 {
- 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) {
@@ -125,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);
@@ -147,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 992796bde..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,10 +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);
+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 ae2c685d2..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,11 +291,8 @@ static int save_netinfo(struct interface_info * intf) {
fprintf(f, "NETWORKING=yes\n");
fprintf(f, "FORWARD_IPV4=false\n");
- if (hostname)
+ if (hostname && !(intf->boot_proto == BOOTPROTO_DHCP))
fprintf(f, "HOSTNAME=%s\n", hostname);
- if (domain)
- fprintf(f, "DOMAINNAME=%s\n", domain);
-
if (gateway.s_addr != 0)
fprintf(f, "GATEWAY=%s\n", inet_ntoa(gateway));
@@ -301,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);
@@ -342,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;
@@ -368,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;
@@ -382,7 +415,7 @@ static enum return_type setup_network_interface(struct interface_info * intf)
static char ** answers = NULL;
struct in_addr addr;
- results = ask_from_entries_auto("Please enter the network information. (leave netmask void for Internet standard)",
+ results = ask_from_entries_auto("Please enter the network information. (leave netmask blank for Internet standard)",
questions, &answers, 16, questions_auto, static_ip_callback);
if (results != RETURN_OK)
return setup_network_interface(intf);
@@ -398,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 */
@@ -464,25 +502,33 @@ static enum return_type configure_network(struct interface_info * intf)
dnshostname = mygethostbyaddr(inet_ntoa(intf->ip));
if (dnshostname) {
- hostname = strdup(dnshostname);
- domain = strchr(strdup(hostname), '.') + 1;
- log_message("got hostname and domain from dns entry, %s and %s", hostname, domain);
- return RETURN_OK;
- }
-
- log_message("reverse name lookup on self failed");
+ if (intf->boot_proto == BOOTPROTO_STATIC)
+ hostname = strdup(dnshostname);
+ 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;
@@ -490,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)
@@ -506,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;
}
@@ -513,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 */
@@ -545,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;
@@ -572,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]);
@@ -587,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;
@@ -619,7 +921,7 @@ static enum return_type intf_select_and_up(void)
if (results == RETURN_OK)
save_netinfo(sel_intf);
-
+
return results;
}
@@ -631,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;
@@ -641,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();
}
@@ -650,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;
}
@@ -687,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).",
- MEM_LIMIT_RAMDISK, total_memory());
+ 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_DRAKX, total_memory());
return RETURN_ERROR;
}
@@ -699,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);
@@ -774,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).",
- MEM_LIMIT_RAMDISK, total_memory());
+ 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_DRAKX, total_memory());
return RETURN_ERROR;
}
@@ -786,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", location_full);
+ 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)
@@ -816,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 e0bc7c5ce..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,9 @@
#include <stdio.h>
#include <stdarg.h>
#include <sys/time.h>
-#include "newt/newt.h"
+#include <newt.h>
+
+#include <probing.h>
#include "frontend.h"
@@ -41,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();
}
@@ -115,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) {
@@ -134,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)
@@ -157,7 +166,7 @@ void update_progression(int current_size)
}
}
-void end_progression(void)
+void end_progression_raw(void)
{
if (size_progress) {
newtPopWindow();
@@ -168,55 +177,39 @@ 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;
- 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;
-
- 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;
@@ -233,7 +226,7 @@ enum return_type ask_yes_no(char *msg)
static void (*callback_real_function)(char ** strings) = NULL;
-static void default_callback(newtComponent co, void * data)
+static void default_callback(newtComponent co __attribute__ ((unused)), void * data)
{
newtComponent * entries = data;
char * strings[50], ** ptr;
@@ -306,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,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;
@@ -381,7 +374,7 @@ enum return_type ask_from_entries(char *msg, char ** questions, char *** answers
*(entries[j].value) = NULL;
}
- rc = mynewtWinEntries("Please fill entries...", msg, 52, 5, 5, entry_size, callback_func, entries, "Ok", "Cancel", NULL);
+ rc = mynewtWinEntries("Please fill in entries...", msg, 52, 5, 5, entry_size, callback_func, entries, "Ok", "Cancel", NULL);
if (rc == 3)
return RETURN_BACK;
@@ -390,3 +383,7 @@ enum return_type ask_from_entries(char *msg, char ** questions, char *** answers
return RETURN_OK;
}
+
+
+void suspend_to_console(void) { newtSuspend(); }
+void resume_from_suspend(void) { newtResume(); }
diff --git a/mdk-stage1/newt/Makefile b/mdk-stage1/newt/Makefile
deleted file mode 100644
index 171bcf0cb..000000000
--- a/mdk-stage1/newt/Makefile
+++ /dev/null
@@ -1,56 +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
-
-ifeq (DIETLIBC, $(L))
-TARGETS += $(LIBNAME)-DIET.a
-endif
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-OBJS-DIET = $(subst .o,-DIET.o,$(OBJS))
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(LIBNAME)-DIET.a: $(OBJS-DIET)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c $< -o $@
-
-$(OBJS-DIET): %-DIET.o: %.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(DIETLIBC_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 b56bd1e9f..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) > 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) > 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 154edba71..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) >= 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 4ad465e38..000000000
--- a/mdk-stage1/newt/form.c
+++ /dev/null
@@ -1,712 +0,0 @@
-#include <unistd.h>
-#include <slang.h>
-#include <stdarg.h>
-#include <stdlib.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 433011396..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 (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 ef276aeb4..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) > 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) > 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) > 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 1cfe3ac93..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) {
- 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,
- struct event ev) {
- 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 2f2880fe2..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) {
- 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 8627ab03c..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 $@
-
-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 1ea4ffc60..000000000
--- a/mdk-stage1/pci-resource/update-pci-ids.pl
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/perl
-
-require '/usr/bin/merge2pcitable.pl';
-
-my $drivers = 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 */
-};
-
-';
-
-my %t = (scsi => 'scsi', eth => 'net');
-
-my @modulz = sort grep { -d $_ } glob("../../all.modules/*");
-my $selected_mod = pop @modulz;
-my ($kern) = $selected_mod =~ /.*\/([^\/]+)/;
-
-if (-x "../mar/mar" && -f "../../all.modules/$kern/network_modules.mar" && -f "../../all.modules/$kern/hd_modules.mar") {
- $modulez{'eth'} = [ `../mar/mar -l ../../all.modules/$kern/network_modules.mar` ];
- $modulez{'scsi'} = [ `../mar/mar -l ../../all.modules/$kern/hd_modules.mar` ];
- $check_marfiles = 1;
-}
-
-
-foreach $type (keys %t) {
- print "#ifndef DISABLE_NETWORK\n" if ($type eq 'eth');
- print "#ifndef DISABLE_MEDIAS\n" if ($type eq 'scsi');
-
- print "
-struct pci_module_map ${type}_pci_ids[] = {
-";
- my %l;
- foreach (glob("../../all.kernels/$kern/lib/modules/*/$t{$type}/*.o"), glob("../../all.kernels/$kern/lib/modules/*/kernel/drivers/$t{$type}/{*/,}*.o")) {
- m|([^/]*)\.o$|;
- $l{$1} = 1;
- }
- my %absent;
- while (my ($k, $v) = each %$drivers) {
- $l{$v->[0]} or next;
- $k =~ /^(....)(....)/;
- printf qq|\t{0x%s , 0x%s , ( "%s" ), ( "%s" )} ,\n|,
- $1, $2, $v->[1], $v->[0];
- if (defined($check_marfiles)) {
- ($absent{$v->[0]} = 1) if (!grep(/^\t$v->[0]\.o\s/, @{$modulez{$type}}));
- }
- }
-
- if (%absent) { print STDERR "\tmissing for $type: "; foreach (keys %absent) { print STDERR "$_ " } print STDERR "\n"; };
-
-print "
-};
-int ${type}_num_ids=sizeof(${type}_pci_ids)/sizeof(struct pci_module_map);
-";
-
- print "#endif\n";
-
-}
diff --git a/mdk-stage1/pcmcia/Makefile b/mdk-stage1/pcmcia/Makefile
index fb93f10b8..6b8bf0cb8 100644
--- a/mdk-stage1/pcmcia/Makefile
+++ b/mdk-stage1/pcmcia/Makefile
@@ -1,8 +1,8 @@
#******************************************************************************
#
- # Guillaume Cottenceau (gc@mandrakesoft.com)
+ # Guillaume Cottenceau (gc)
#
- # Copyright 2000 MandrakeSoft
+ # Copyright 2001 Mandriva
#
# This software may be freely redistributed under the terms of the GNU
# public license.
@@ -13,36 +13,40 @@
#
#*****************************************************************************
+# startup.c is based on pcmcia-socket-startup from pcmciautils-013
+
top_dir = ..
include $(top_dir)/Makefile.common
+TARGET = libpcmcia.a
+YFLAGS := -d
-all: libpcmcia.a libpcmcia-DIET.a
+all: $(TARGET) pcmcia_probe.o
clean:
- rm -f *.o libpcmcia.a
-
-FLAGS = -Wall -Werror -Os -fomit-frame-pointer -pipe -c -I..
+ 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 = pcmcia_probe.o cardmgr.o lex_config.o yacc_config.o
-OBJS-DIET = $(subst .o,-DIET.o,$(OBJS))
+OBJS = probe.o startup.o yacc_config.o lex_config.o
-libpcmcia.a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
+%.c %.h : %.y
+ $(YACC) $(YFLAGS) $<
+ mv y.tab.c $*.c
+ mv y.tab.h $*.h
-libpcmcia-DIET.a: $(OBJS-DIET)
+$(TARGET): $(OBJS) yacc_config.h
ar -cru $@ $^
ranlib $@
-
$(OBJS): %.o: %.c
- gcc $(FLAGS) $(GLIBC_INCLUDES) -c $< -o $@
-
-$(OBJS-DIET): %-DIET.o: %.c
- gcc $(FLAGS) $(DIETLIBC_INCLUDES) -c $< -o $@
+ 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 1b0bcbd1e..7748d4432 100644
--- a/mdk-stage1/pcmcia/bulkmem.h
+++ b/mdk-stage1/pcmcia/bulkmem.h
@@ -1,7 +1,7 @@
/*
* Definitions for bulk memory services
*
- * bulkmem.h 1.12 2000/06/12 21:55:41
+ * bulkmem.h 1.13 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
@@ -18,8 +18,8 @@
* 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 Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of 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
diff --git a/mdk-stage1/pcmcia/cardmgr.c b/mdk-stage1/pcmcia/cardmgr.c
deleted file mode 100644
index 40b5e6a0f..000000000
--- a/mdk-stage1/pcmcia/cardmgr.c
+++ /dev/null
@@ -1,805 +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.23.tar.bz2
- *
- * Licence of this code follows:
-
- PCMCIA Card Manager daemon
-
- cardmgr.c 1.150 2000/12/14 17:12:59
-
- 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 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 <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.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>
-#include <pcmcia/config.h>
-#include <pcmcia/cs_types.h>
-#include <pcmcia/cs.h>
-#include <pcmcia/cistpl.h>
-#include <pcmcia/ds.h>
-
-#include "../log.h"
-#include "modules.h"
-
-#include "cardmgr.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_BOUND 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];
-
-static char *configpath = "/etc/pcmcia";
-
-/* Default path for socket info table */
-static char *stabfile;
-
-/*====================================================================*/
-
-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) {
- bzero(t, 32);
- 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;
-}
-
-static 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;
-}
-
-static int open_sock(int sock, int mode)
-{
- dev_t dev = (major<<8) + sock;
- return open_dev(dev, mode);
-}
-
-/*======================================================================
-
- 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.
-
-======================================================================*/
-
-
-#include <linux/major.h>
-#include <scsi/scsi.h>
-
-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;
-}
-
-
-/*====================================================================*/
-
-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;
- }
- if (flock(fileno(f), LOCK_EX) != 0) {
- log_message("CM: flock(stabfile) failed: %m");
- return;
- }
- for (i = 0; i < sockets; i++) {
- s = &socket[i];
- if (!(s->state & SOCKET_PRESENT))
- fprintf(f, "Socket %d: empty\n", i);
- else if (!s->card)
- fprintf(f, "Socket %d: unsupported card\n", i);
- else {
- fprintf(f, "Socket %d: %s\n", i, 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);
- 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;
-}
-
-/*====================================================================*/
-
-typedef struct {
- u_short vendor, device;
-} pci_id_t;
-
-
-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;
- config_info_t config;
- int i, ret, match;
- int 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;
-
- match = 0;
- for (card = root_card; card; card = card->next) {
- switch (card->ident_type) {
-
- case VERS_1_IDENT:
- if (vers == NULL)
- break;
- 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)
- break;
- match = 1;
- break;
-
- case MANFID_IDENT:
- if ((manfid.manf == card->id.manfid.manf) &&
- (manfid.card == card->id.manfid.card))
- match = 1;
- break;
-
- case 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) break;
- arg.tuple.TupleOffset = card->id.tuple.ofs;
- ret = ioctl(s->fd, DS_GET_TUPLE_DATA, &arg);
- if (ret != 0) break;
- if (strncmp((char *)arg.tuple_parse.data,
- card->id.tuple.info,
- strlen(card->id.tuple.info)) != 0)
- break;
- match = 1;
- break;
-
- default:
- /* Skip */
- break;
- }
- if (match) break;
- }
- }
-
- /* Check PCI vendor/device info */
- status.Function = config.Function = config.ConfigBase = 0;
- if ((ioctl(s->fd, DS_GET_CONFIGURATION_INFO, &config) == 0) &&
- (config.IntType == INT_CARDBUS)) {
- pci_id.vendor = config.ConfigBase & 0xffff;
- pci_id.device = config.ConfigBase >> 16;
- if (!card) {
- for (card = root_card; card; card = card->next)
- if ((card->ident_type == PCI_IDENT) &&
- (pci_id.vendor == card->id.manfid.manf) &&
- (pci_id.device == card->id.manfid.card))
- break;
- }
- }
-
- /* 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);
- return card;
- }
-
- status.Function = 0;
- 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);
- return NULL;
- } else {
- card = blank_card;
- log_message("CM: socket %d: %s", ns, card->name);
- return card;
- }
-}
-
-
-static void cardmgr_fail(void)
-{
- log_message("CM: cardmgr: failed");
-}
-
-/*====================================================================*/
-
-static int load_config(void)
-{
- if (chdir(configpath)) {
- log_message("CM: chdir to %s failed: %m", configpath);
- return -1;
- }
-
- if (parse_configfile("config"))
- return -1;
-
- if (!root_device)
- log_message("CM: no device drivers defined");
-
- if (!root_card && !root_func)
- log_message("CM: no cards defined");
-
- return 0;
-}
-
-
-/*====================================================================*/
-
-static void install_module(char *mod, char *opts)
-{
- my_insmod(mod, ANY_DRIVER_TYPE, opts);
-}
-
-/*====================================================================*/
-
-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%lx: %s",
- attr ? "Attribute" : "Common", (long unsigned int) 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( "bind MTD '%s' to region at 0x%lx failed: %m",
- (char *)mtd_info.dev_info, (long unsigned int) 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 && (s->card != blank_card))
- return;
-
- log_message("CM: initializing socket %d", sn);
- card = lookup_card(sn);
- /* 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);
-
- /* 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]);
- }
-
- /* 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);
- write_stab();
- return;
- }
- }
-
- 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);
- write_stab();
- return;
- }
- tail = &s->bind[i];
- while (ret == 0) {
- bind_info_t *old;
- if ((strlen(bind->name) > 3) && (bind->name[2] == '#'))
- xlate_scsi_name(bind);
- 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();
- }
-}
-
-/*====================================================================*/
-
-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;
- }
-}
-
-/*====================================================================*/
-
-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 %#lx-%#lx",
- al->adj.resource.memory.Base,
- 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: %s", tmp, strerror(errno));
- }
- }
-}
-
-/*====================================================================*/
-
-static int init_sockets(void)
-{
- int fd, i;
- servinfo_t serv;
-
- 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;
- }
-
- 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: found %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");
- } else {
- log_message("CM: could not get CS revision info!");
- return -1;
- }
- adjust_resources();
- return 0;
-}
-
-/*====================================================================*/
-
-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\n", 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 fe04044e5..000000000
--- a/mdk-stage1/pcmcia/cardmgr.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * cardmgr.h 1.35 2000/06/12 21:33:03
- *
- * 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 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;
-
-typedef struct card_info_t {
- char *name;
- enum {
- VERS_1_IDENT=1, MANFID_IDENT, TUPLE_IDENT, FUNC_IDENT,
- BLANK_IDENT, PCI_IDENT
- } ident_type;
- union {
- vers_ident_t vers;
- manfid_ident_t manfid;
- tuple_ident_t tuple;
- func_ident_t func;
- } id;
- 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
index b7aad5894..78f73b26d 100644
--- a/mdk-stage1/pcmcia/cirrus.h
+++ b/mdk-stage1/pcmcia/cirrus.h
@@ -1,5 +1,5 @@
/*
- * cirrus.h 1.9 2000/06/12 21:29:37
+ * 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
@@ -16,8 +16,8 @@
* 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 Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of 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
@@ -48,11 +48,6 @@
#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 */
@@ -125,10 +120,6 @@
#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
@@ -163,20 +154,4 @@
/* 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/cistpl.h b/mdk-stage1/pcmcia/cistpl.h
index a4b16a6e4..1d4cac20e 100644
--- a/mdk-stage1/pcmcia/cistpl.h
+++ b/mdk-stage1/pcmcia/cistpl.h
@@ -1,5 +1,5 @@
/*
- * cistpl.h 1.34 2000/06/19 23:18:12
+ * cistpl.h 1.35 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
@@ -16,8 +16,8 @@
* 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 Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of 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
diff --git a/mdk-stage1/pcmcia/config.h b/mdk-stage1/pcmcia/config.h
deleted file mode 100644
index 4ad8fe81a..000000000
--- a/mdk-stage1/pcmcia/config.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- Automatically generated by 'make config' -- don't edit!
-*/
-#ifndef _PCMCIA_CONFIG_H
-#define _PCMCIA_CONFIG_H
-
-#define AUTOCONF_INCLUDED
-#define __IN_PCMCIA_PACKAGE__
-
-#define LINUX "/home/gc/rpm/BUILD/linux"
-#define PREFIX "/home/gc/rpm/tmp/kernel-2.4.0-build"
-#define CC "/usr/bin/kgcc"
-#define LD "ld"
-#define KFLAGS ""
-#define UFLAGS ""
-#define PCDEBUG ""
-#define USE_PM 1
-#define UNSAFE_TOOLS 1
-#define CONFIG_CARDBUS 1
-#undef CONFIG_PNP_BIOS
-#define MODDIR "/lib/modules/2.4.0-6mdk"
-
-/* Options from /home/gc/rpm/BUILD/linux/.config */
-#define CONFIG_MODULES 1
-#undef CONFIG_PCMCIA
-#undef CONFIG_SMP
-#define CONFIG_PCI 1
-#define CONFIG_PCI_QUIRKS 1
-#define CONFIG_PM 1
-#define CONFIG_SCSI 1
-#define CONFIG_IEEE1394 1
-#define CONFIG_INET 1
-#define CONFIG_NET_PCMCIA_RADIO 1
-#define CONFIG_TR 1
-#undef CONFIG_NET_FASTROUTE
-#undef CONFIG_NET_DIVERT
-#define CONFIG_MODVERSIONS 1
-#define CONFIG_X86_L1_CACHE_BYTES 32
-#define CONFIG_X86_L1_CACHE_SHIFT 5
-#define CONFIG_PROC_FS 1
-#define ARCH "i386"
-#define HOST_ARCH "i386"
-#define AFLAGS ""
-#define CONFIG_ISA 1
-#define CONFIG_UID16 1
-
-#define UTS_RELEASE "2.4.0-6mdk"
-#define UTS_VERSION "#1 Wed Jan 24 16:10:16 CET 2001"
-#define LINUX_VERSION_CODE 132096
-#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
-
-#define HAS_PROC_BUS 1
-#define SYSV_INIT 1
-#define RC_DIR "/etc/rc.d"
-#undef HAS_FORMS
-#define MANDIR "/usr/share/man"
-#define XMANDIR "/usr/X11R6/man"
-
-#endif /* _PCMCIA_CONFIG_H */
diff --git a/mdk-stage1/pcmcia/cs.h b/mdk-stage1/pcmcia/cs.h
index be6f92d65..9abeac216 100644
--- a/mdk-stage1/pcmcia/cs.h
+++ b/mdk-stage1/pcmcia/cs.h
@@ -1,5 +1,5 @@
/*
- * cs.h 1.71 2000/08/29 00:54:20
+ * 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
@@ -16,8 +16,8 @@
* 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 Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of 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
@@ -49,8 +49,8 @@ typedef struct adjust_t {
u_int Attributes;
union {
struct memory {
- u_long Base;
- u_long Size;
+ unsigned long Base;
+ unsigned long Size;
} memory;
struct io {
ioaddr_t BasePort;
@@ -181,6 +181,7 @@ typedef struct config_req_t {
#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 {
@@ -266,7 +267,7 @@ typedef struct modwin_t {
/* For RequestWindow */
typedef struct win_req_t {
u_int Attributes;
- u_long Base;
+ unsigned long Base;
u_int Size;
u_int AccessSpeed;
} win_req_t;
@@ -397,14 +398,6 @@ typedef struct mtd_bind_t {
#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
*/
@@ -435,30 +428,6 @@ extern int CardServices(int func, void *a1, void *a2, void *a3);
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
index 40cf84b51..4598d7f48 100644
--- a/mdk-stage1/pcmcia/cs_types.h
+++ b/mdk-stage1/pcmcia/cs_types.h
@@ -1,5 +1,5 @@
/*
- * cs_types.h 1.18 2000/06/12 21:55:40
+ * 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
@@ -16,8 +16,8 @@
* 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 Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of 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
@@ -38,8 +38,13 @@
#endif
#endif
-typedef u_short socket_t;
+#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;
diff --git a/mdk-stage1/pcmcia/driver_ops.h b/mdk-stage1/pcmcia/driver_ops.h
index 00cde3336..2f0a066d3 100644
--- a/mdk-stage1/pcmcia/driver_ops.h
+++ b/mdk-stage1/pcmcia/driver_ops.h
@@ -1,5 +1,5 @@
/*
- * driver_ops.h 1.15 2000/06/12 21:55:40
+ * 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
@@ -16,8 +16,8 @@
* 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 Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of 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
@@ -68,15 +68,6 @@ typedef struct 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
index 975ba596a..29db7b415 100644
--- a/mdk-stage1/pcmcia/ds.h
+++ b/mdk-stage1/pcmcia/ds.h
@@ -1,5 +1,5 @@
/*
- * ds.h 1.56 2000/06/12 21:55:40
+ * 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
@@ -16,8 +16,8 @@
* 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 Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of 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
@@ -30,8 +30,8 @@
#ifndef _LINUX_DS_H
#define _LINUX_DS_H
-#include <pcmcia/driver_ops.h>
-#include <pcmcia/bulkmem.h>
+#include <pcmcia_/driver_ops.h>
+#include <pcmcia_/bulkmem.h>
typedef struct tuple_parse_t {
tuple_t tuple;
@@ -143,21 +143,6 @@ 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
index 15e8e2540..38ff167fb 100644
--- a/mdk-stage1/pcmcia/i82365.h
+++ b/mdk-stage1/pcmcia/i82365.h
@@ -1,5 +1,5 @@
/*
- * i82365.h 1.20 2000/07/20 23:00:27
+ * 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
@@ -16,8 +16,8 @@
* 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 Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of 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
@@ -97,7 +97,6 @@
#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))
@@ -131,24 +130,6 @@
#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
+#define I365_REG(slot, reg) (((slot) << 6) + reg)
#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 b374c8bf4..000000000
--- a/mdk-stage1/pcmcia/lex_config.c
+++ /dev/null
@@ -1,2008 +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 )
-
-
-/* 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.39 2000/06/12 21:33:02
- *
- * 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 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
-#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, *yy_bp;
- 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;
- }
-
-
-
-
-#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/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
index 1967b3497..ae7db247b 100644
--- a/mdk-stage1/pcmcia/pcmcia.h
+++ b/mdk-stage1/pcmcia/pcmcia.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.
@@ -16,6 +16,6 @@
#define _PCMCIA_CARDMGR_INTERFACE_H_
char * pcmcia_probe(void);
-int cardmgr_call(void);
+void pcmcia_socket_startup(int socket_no);
#endif
diff --git a/mdk-stage1/pcmcia/pcmcia_probe.c b/mdk-stage1/pcmcia/pcmcia_probe.c
deleted file mode 100644
index 380a5886a..000000000
--- a/mdk-stage1/pcmcia/pcmcia_probe.c
+++ /dev/null
@@ -1,405 +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.28.tar.bz2
- *
- * Licence of this code follows:
-
- PCMCIA controller probe
-
- probe.c 1.54 2001/05/10 03:01:59
-
- 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 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 *tag;
- char *name;
-} pci_id_t;
-
-pci_id_t pci_id[] = {
- { 0x1013, 0x1100, "Cirrus Logic CL 6729", "Cirrus PD6729" },
- { 0x1013, 0x1110, "Cirrus Logic PD 6832", "Cirrus PD6832" },
- { 0x10b3, 0xb106, "SMC 34C90", "SMC 34C90" },
- { 0x1180, 0x0465, "Ricoh RL5C465", "Ricoh RL5C465" },
- { 0x1180, 0x0466, "Ricoh RL5C466", "Ricoh RL5C466" },
- { 0x1180, 0x0475, "Ricoh RL5C475", "Ricoh RL5C475" },
- { 0x1180, 0x0476, "Ricoh RL5C476", "Ricoh RL5C476" },
- { 0x1180, 0x0478, "Ricoh RL5C478", "Ricoh RL5C478" },
- { 0x104c, 0xac12, "Texas Instruments PCI1130", "TI 1130" },
- { 0x104c, 0xac13, "Texas Instruments PCI1031", "TI 1031" },
- { 0x104c, 0xac15, "Texas Instruments PCI1131", "TI 1131" },
- { 0x104c, 0xac1a, "Texas Instruments PCI1210", "TI 1210" },
- { 0x104c, 0xac1e, "Texas Instruments PCI1211", "TI 1211" },
- { 0x104c, 0xac17, "Texas Instruments PCI1220", "TI 1220" },
- { 0x104c, 0xac19, "Texas Instruments PCI1221", "TI 1221" },
- { 0x104c, 0xac1c, "Texas Instruments PCI1225", "TI 1225" },
- { 0x104c, 0xac16, "Texas Instruments PCI1250", "TI 1250A" },
- { 0x104c, 0xac1d, "Texas Instruments PCI1251A", "TI 1251A" },
- { 0x104c, 0xac1f, "Texas Instruments PCI1251B", "TI 1251B" },
- { 0x104c, 0xac50, "Texas Instruments PCI1410", "TI 1410" },
- { 0x104c, 0xac51, "Texas Instruments PCI1420", "TI 1420" },
- { 0x104c, 0xac1b, "Texas Instruments PCI1450", "TI 1450" },
- { 0x104c, 0xac52, "Texas Instruments PCI1451", "TI 1451" },
- { 0x104c, 0xac41, "Texas Instruments PCI4410", "TI 4410" },
- { 0x104c, 0xac40, "Texas Instruments PCI4450", "TI 4450" },
- { 0x104c, 0xac42, "Texas Instruments PCI4451", "TI 4451" },
- { 0x1217, 0x6729, "O2 Micro 6729", "O2Micro OZ6729" },
- { 0x1217, 0x673a, "O2 Micro 6730", "O2Micro OZ6730" },
- { 0x1217, 0x6832, "O2 Micro 6832/6833", "O2Micro OZ6832/OZ6833" },
- { 0x1217, 0x6836, "O2 Micro 6836/6860", "O2Micro OZ6836/OZ6860" },
- { 0x1217, 0x6872, "O2 Micro 6812", "O2Micro OZ6812" },
- { 0x1179, 0x0603, "Toshiba ToPIC95-A", "Toshiba ToPIC95-A" },
- { 0x1179, 0x060a, "Toshiba ToPIC95-B", "Toshiba ToPIC95-B" },
- { 0x1179, 0x060f, "Toshiba ToPIC97", "Toshiba ToPIC97" },
- { 0x1179, 0x0617, "Toshiba ToPIC100", "Toshiba ToPIC100" },
- { 0x119b, 0x1221, "Omega Micro 82C092G", "Omega Micro 82C092G" },
- { 0x8086, 0x1221, "Intel 82092AA", "Intel 82092AA" }
-};
-#define PCI_COUNT (sizeof(pci_id)/sizeof(pci_id_t))
-
-static int pci_probe(void)
-{
- char s[256], *name = NULL;
- u_int device, vendor, i;
- FILE *f;
-
- log_message("PCMCIA: probing PCI bus..");
-
- f = fopen("/proc/bus/pci/devices", "r");
-
- if (!f) {
- log_message("where are you going without /proc/bus/pci/devices ??");
- return -1;
- }
-
- 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;
- break;
- }
- }
-
- fclose(f);
-
- if (name) {
- log_message("\t%s found, 2 sockets.", name);
- 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);
-}
-
-static 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";
- }
- }
-
- log_message("\t%s found, %d sockets.", 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;
-}
-
-static 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);
-
- /* 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;
-}
-
-static int tcic_probe(void)
-{
- int sock, id;
-
- log_message("PCMCIA: probing for Databook TCIC-2 (ISA)..");
-
- 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("\tfound at %#6x, %d sockets.\n", TCIC_BASE, sock);
-
- return 0;
-
-} /* tcic_probe */
-
-
-/*====================================================================*/
-
-char * pcmcia_probe(void)
-{
- if (!pci_probe())
- return "i82365";
- else if (!i365_probe())
- return "i82365";
- else if (!tcic_probe())
- return "tcic";
- else
- return NULL;
-}
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 92347cef6..cad193885 100644
--- a/mdk-stage1/pcmcia/tcic.h
+++ b/mdk-stage1/pcmcia/tcic.h
@@ -1,5 +1,5 @@
/*
- * tcic.h 1.14 2000/06/12 21:29:37
+ * tcic.h 1.15 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
@@ -16,8 +16,8 @@
* 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 Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of 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
diff --git a/mdk-stage1/pcmcia/version.h b/mdk-stage1/pcmcia/version.h
index 7a567ea2c..3be8f28bc 100644
--- a/mdk-stage1/pcmcia/version.h
+++ b/mdk-stage1/pcmcia/version.h
@@ -1,4 +1,4 @@
-/* version.h 1.95 2000/11/07 22:55:28 (David Hinds) */
+/* version.h 1.101 2001/08/09 12:29:14 (David Hinds) */
-#define CS_RELEASE "3.1.23"
-#define CS_RELEASE_CODE 0x3117
+#define CS_RELEASE "3.1.29"
+#define CS_RELEASE_CODE 0x311d
diff --git a/mdk-stage1/pcmcia/vg468.h b/mdk-stage1/pcmcia/vg468.h
index bb5faae87..23890cd07 100644
--- a/mdk-stage1/pcmcia/vg468.h
+++ b/mdk-stage1/pcmcia/vg468.h
@@ -1,5 +1,5 @@
/*
- * vg468.h 1.13 2000/06/12 21:29:37
+ * 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
@@ -16,8 +16,8 @@
* 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 Public License version 2 (the "GPL"), in which
- * case the provisions of the GPL are applicable instead of 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
@@ -103,10 +103,4 @@
/* 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 e68e17cb3..000000000
--- a/mdk-stage1/pcmcia/yacc_config.c
+++ /dev/null
@@ -1,1017 +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.51 2000/06/12 21:33:02
- *
- * 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 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;
-}
-
-int yylex(void);
-
-#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
-yyparse(void)
-{
- 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 != 0) {
- yyerror("ID method already defined");
- YYERROR;
- }
- yyvsp[-4].card->ident_type = MANFID_IDENT;
- yyvsp[-4].card->id.manfid.manf = yyvsp[-2].num;
- yyvsp[-4].card->id.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->id.manfid.manf = yyvsp[-2].num;
- yyvsp[-4].card->id.manfid.card = yyvsp[0].num;
- }
-break;
-case 33:
-#line 264 "yacc_config.y"
-{
- if (yyvsp[-2].card->ident_type != 0) {
- 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/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/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 c35020eab..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)
-#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 ad2bdae90..000000000
--- a/mdk-stage1/ppp/pppd/Makefile
+++ /dev/null
@@ -1,59 +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
-
-ifeq (DIETLIBC, $(L))
-TARGETS += pppd-DIET
-endif
-
-BINTARGET = ../pppd-bin
-
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a $(BINTARGET) pppd pppd-DIET
-
-FLAGS = -Wall -Werror -Os -fomit-frame-pointer -DDO_BSD_COMPRESS=0 -D_linux_=1 -DHAVE_MMAP -DNO_DRAND48
-
-INCS = -I../include -I.
-
-
-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
-OBJS-DIET = $(subst .o,-DIET.o,$(OBJS))
-
-
-pppd: $(OBJS)
- gcc -static -o $@ $^ -lcrypt
- $(STRIPCMD) $@
- cp -f $@ $(BINTARGET)
-
-pppd-DIET: $(OBJS-DIET)
- gcc $(DIETLIBC_LDFLAGS_STAGE1) -o $@ $^ $(DIETLIBC_LIBC)
- $(STRIPCMD) $@
- cp -f $@ $(BINTARGET)
-
-$(OBJS): %.o: %.c
- gcc $(FLAGS) $(INCS) $(GLIBC_INCLUDES) -c $< -o $@
-
-$(OBJS-DIET): %-DIET.o: %.c
- gcc $(FLAGS) $(INCS) $(DIETLIBC_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 ac5bd39fa..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 d341bb3de..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 __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;
-}
-
-/********************************************************************
- *
- * 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 9c987cfcd..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 *);
-#ifndef __powerpc__
- 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 2e9c1d0de..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,31 +35,41 @@
#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"
-enum bus_type { IDE, SCSI, CPQ };
-
struct media_info {
char * name;
char * model;
enum media_type type;
- enum bus_type bus;
};
@@ -76,487 +86,636 @@ 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);
+ 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");
+ }
+ return &detected_devices[detected_devices_len++];
+}
+
+/* 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;
+
+ 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);
}
- 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;
+ 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;
}
- net_descriptions[net_descr_number].intf_name = net_intf_too_early_name[net_intf_too_early_ptr++];
}
- 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 NULL;
}
+#endif
-char * get_net_intf_description(char * intf_name)
+void discovered_device(enum driver_type type, const char * description, const char * driver)
{
+ description = safe_descr(description);
+
+ enum insmod_return failed = INSMOD_FAILED;
+#ifndef DISABLE_MEDIAS
+ 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) {
+ 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)
+ /* 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;
- 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");
+
+ 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);
}
-#endif
-static void probe_that_type(enum driver_type type)
+/** 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)
{
- if (IS_EXPERT) {
- ask_insmod(type);
- return;
+ 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
+{
+ static int already_probed_usb_controllers = 0;
+ static int already_loaded_usb_scsi = 0;
+ static int already_probed_virtio_devices = 0;
/* ---- PCI probe ---------------------------------------------- */
- {
- FILE * f;
- int len = 0;
- char buf[200];
- struct pci_module_map * pcidb = NULL;
-
+ if (bus != BUS_USB) {
switch (type) {
+#ifndef DISABLE_PCIADAPTERS
#ifndef DISABLE_MEDIAS
- case SCSI_ADAPTERS:
- pcidb = scsi_pci_ids;
- len = scsi_num_ids;
+ 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
-#ifndef DISABLE_PCINET
case NETWORK_DEVICES:
- pcidb = eth_pci_ids;
- len = eth_num_ids;
+ probe_pci_modules(type, network_pci_modules, network_pci_modules_len);
break;
#endif
#endif
#ifdef ENABLE_USB
case USB_CONTROLLERS:
- pcidb = usb_pci_ids;
- len = usb_num_ids;
+ if (already_probed_usb_controllers || IS_NOAUTO)
+ break;
+ already_probed_usb_controllers = 1;
+ 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;
+ break;
}
+ }
+
+
+#ifdef ENABLE_USB
+ /* ---- USB probe ---------------------------------------------- */
+ if ((bus == BUS_USB || bus == BUS_ANY) && !(IS_NOAUTO)) {
+ static int already_mounted_usbdev = 0;
+ struct pciusb_entries entries;
+ int i;
+
+ if (!already_probed_usb_controllers)
+ probe_that_type(USB_CONTROLLERS, BUS_ANY);
- if (!(f = fopen("/proc/bus/pci/devices", "rb"))) {
- log_message("PCI: could not open proc file");
- goto end_pci_probe;
+ if (!already_mounted_usbdev) {
+ already_mounted_usbdev = 1;
+ wait_message("Detecting USB devices.");
+ sleep(4); /* sucking background work */
+ my_modprobe("usbhid", ANY_DRIVER_TYPE, NULL);
+ remove_wait_message();
}
- while (1) {
- int i, garb, vendor, device;
-
- if (!fgets(buf, sizeof(buf), f)) break;
-
- sscanf(buf, "%x %x", &garb, &vendor);
- device = vendor & 0xFFFF; /* because scanf from dietlibc does not support %4f */
- vendor = (vendor >> 16) & 0xFFFF;
-
- for (i = 0; i < len; i++) {
- if (pcidb[i].vendor == vendor && pcidb[i].device == device) {
- log_message("PCI: device %04x %04x is \"%s\" (%s)", vendor, device, pcidb[i].name, pcidb[i].module);
-#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", pcidb[i].name);
- wait_msg = 1;
- } else
- stg1_info_message("About to load driver for SCSI adapter:\n \n%s", pcidb[i].name);
- failed = my_insmod(pcidb[i].module, SCSI_ADAPTERS, NULL);
- if (wait_msg)
- remove_wait_message();
- warning_insmod_failed(failed);
+ if (type != NETWORK_DEVICES)
+ goto end_usb_probe;
- }
-#endif
-#ifndef DISABLE_NETWORK
- if (type == NETWORK_DEVICES) {
- stg1_info_message("About to load driver for network device:\n \n%s", pcidb[i].name);
- prepare_intf_descr(pcidb[i].name);
- warning_insmod_failed(my_insmod(pcidb[i].module, NETWORK_DEVICES, NULL));
- if (intf_descr_for_discover) /* for modules providing more than one net intf */
- net_discovered_interface(NULL);
- }
-#endif
-#ifdef ENABLE_USB
- if (type == USB_CONTROLLERS)
- my_insmod(pcidb[i].module, USB_CONTROLLERS, NULL);
-#endif
- }
+ 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);
}
}
- fclose(f);
- end_pci_probe:
+ 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;
-#ifdef ENABLE_USB
- /* ---- USB probe ---------------------------------------------- */
- {
- static int already_probed_usb_controllers = 0;
- static int already_mounted_usbdev = 0;
-
- FILE * f;
- int len = 0;
- char buf[200];
- struct usb_module_map * usbdb = NULL;
+ dir = opendir(base);
+ if (dir == NULL)
+ goto end_pcmcia_probe;
switch (type) {
-#ifdef ENABLE_USBNET
+#ifndef DISABLE_MEDIAS
+ case MEDIA_ADAPTERS:
+ pcmciadb = medias_pcmcia_ids;
+ len = medias_pcmcia_num_ids;
+ break;
+#endif
+#ifndef DISABLE_NETWORK
case NETWORK_DEVICES:
- usbdb = usbnet_usb_ids;
- len = usbnet_usb_num_ids;
+ pcmciadb = network_pcmcia_ids;
+ len = network_pcmcia_num_ids;
break;
#endif
default:
- goto end_usb_probe;
- }
+ goto end_pcmcia_probe;
+ }
- if (!already_probed_usb_controllers) {
- already_probed_usb_controllers = 1;
- probe_that_type(USB_CONTROLLERS);
- }
-
- if (!already_mounted_usbdev) {
- already_mounted_usbdev = 1;
- 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("Waiting for USB stuff to show up.");
- sleep(2); /* sucking background work */
- remove_wait_message();
- }
+ for (dent = readdir(dir); dent != NULL; dent = readdir(dir)) {
+ struct sysfs_attribute *modalias_attr;
+ char keyfile[300];
+ int i, id;
- if (!(f = fopen("/proc/bus/usb/devices", "rb"))) {
- log_message("USB: could not open proc file");
- goto end_usb_probe;
- }
+ if (dent->d_name[0] == '.')
+ continue;
- while (1) {
- int i, vendor, id;
+ log_message("PCMCIA: device found %s", dent->d_name);
- if (!fgets(buf, sizeof(buf), f)) break;
-
- if (strstr(buf, "Keyboard")) {
- my_insmod("usbkbd", ANY_DRIVER_TYPE, NULL);
- my_insmod("keybdev", ANY_DRIVER_TYPE, NULL);
+ 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;
}
- if (sscanf(buf, "P: Vendor=%x ProdID=%x", &vendor, &id) != 2)
- 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);
-#ifdef ENABLE_USBNET
- 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);
}
- fclose(f);
- end_usb_probe:
+ 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(void)
+// 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;
- int fd;
+ int count = 0;
- if (!medias)
- probe_that_type(SCSI_ADAPTERS);
- else
+ if (medias)
free(medias); /* that does not free the strings, by the way */
- /* ----------------------------------------------- */
- log_message("looking for ide media");
-
- count = 0;
- strcpy(b, "/proc/ide/hd");
- for (b[12] = 'a'; b[12] <= 'h'; 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);
- tmp[count].bus = IDE;
- count++;
- }
-
+ log_message("looking for media adapters");
+ probe_that_type(MEDIA_ADAPTERS, bus);
/* ----------------------------------------------- */
- 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);
- tmp[count].bus = SCSI;
- count++;
- }
-
- state = SCSI_HOST;
- }
-
- start = next;
- }
-
- end_scsi:
- }
-
- /* ----------------------------------------------- */
- log_message("looking for Compaq Smart Array media");
+ log_message("looking for DAC960");
{
- 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"))) {
+ if ((f = fopen("/tmp/syslog", "rb"))) {
while (fgets(buf, sizeof(buf), f)) {
- if (ptr_begins_static_str(buf, "ida/") || ptr_begins_static_str(buf, "cciss/")) {
- char * end = strchr(buf, ':');
+ char * start;
+ if ((start = strstr(buf, "/dev/rd/"))) {
+ char * end = strchr(start, ':');
if (!end)
- log_message("Inconsistency in %s, line:\n%s", *procfile, buf);
+ log_message("Inconsistency in syslog, line:\n%s", buf);
else {
*end = '\0';
- tmp[count].name = strdup(buf);
+ tmp[count].name = strdup(start+5);
tmp[count].type = DISK;
- tmp[count].model = cpq_descr;
- log_message("CPQ: found %s", tmp[count].name);
- tmp[count].bus = CPQ;
+ start = end + 2;
+ end = strchr(start, ',');
+ if (end) {
+ *end = '\0';
+ tmp[count].model = strdup(start);
+ } else
+ tmp[count].model = "(unknown)";
+ log_message("DAC960: found %s (%s)", tmp[count].name, tmp[count].model);
count++;
}
}
}
fclose(f);
- procfile++;
}
}
+ /* ----------------------------------------------- */
+ 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);
}
/* Finds by media */
-void get_medias(enum media_type media, char *** names, char *** models)
+void get_medias(enum media_type media, char *** names, char *** models, enum media_bus bus)
{
struct media_info * m;
char * tmp_names[50];
char * tmp_models[50];
int count;
- find_media();
+ find_media(bus);
m = medias;
@@ -571,62 +730,74 @@ void get_medias(enum media_type media, char *** names, char *** models)
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_USBNET
- "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 */
- probe_that_type(NETWORK_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 d2bf1e567..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,13 +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 };
-void get_medias(enum media_type media, char *** names, char *** models);
+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
new file mode 100644
index 000000000..c7aae6126
--- /dev/null
+++ b/mdk-stage1/rescue-gui.c
@@ -0,0 +1,301 @@
+/*
+ * 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.
+ *
+ */
+
+#include <stdlib.h>
+#define _USE_BSD
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdio.h>
+#include <sys/mount.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <linux/unistd.h>
+#include <sys/select.h>
+#include <linux/reboot.h>
+
+#include "config-stage1.h"
+#include "frontend.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"
+#if defined(__x86_64__)
+ ":/lib64:/usr/lib64:/mnt/lib64:/mnt/usr/lib64"
+#endif
+ ,
+ "HOME=/",
+ "TERM=linux",
+ "TERMINFO=/etc/terminfo",
+ NULL
+};
+
+/* pause() already exists and causes the invoking process to sleep
+ until a signal is received */
+static void PAUSE(void) {
+ unsigned char t;
+ fflush(stdout);
+ read(0, &t, 1);
+}
+
+
+/* ------ UUURGH this is duplicated from `init.c', don't edit here........ */
+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)
+{
+ 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);
+}
+struct filesystem { char * dev; char * name; char * fs; int mounted; };
+void unmount_filesystems(void)
+{
+ int fd, size;
+ char buf[65535]; /* this should be big enough */
+ char *p;
+ struct filesystem fs[500];
+ int numfs = 0;
+ int i, nb;
+
+ printf("unmounting filesystems...\n");
+
+ fd = open("/proc/mounts", O_RDONLY, 0);
+ if (fd < 1) {
+ printf("ERROR: failed to open /proc/mounts");
+ sleep(2);
+ return;
+ }
+
+ size = read(fd, buf, sizeof(buf) - 1);
+ buf[size] = '\0';
+
+ close(fd);
+
+ p = buf;
+ while (*p) {
+ fs[numfs].mounted = 1;
+ fs[numfs].dev = p;
+ while (*p != ' ') p++;
+ *p++ = '\0';
+ fs[numfs].name = p;
+ while (*p != ' ') p++;
+ *p++ = '\0';
+ fs[numfs].fs = p;
+ while (*p != ' ') p++;
+ *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 */
+ }
+
+ /* Pixel's ultra-optimized sorting algorithm:
+ multiple passes trying to umount everything until nothing moves
+ anymore (a.k.a holy shotgun method) */
+ do {
+ nb = 0;
+ for (i = 0; i < numfs; i++) {
+ /*printf("trying with %s\n", fs[i].name);*/
+ 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, "ext4") == 0) nb++; /* don't count not-ext4 umount failed */
+ }
+
+ if (nb) {
+ printf("failed to umount some filesystems\n");
+ while (1);
+ }
+}
+/* ------ UUURGH -- end */
+
+
+/* ------ UUURGH -- this is dirrrrrttttyyyyyy */
+void probe_that_type(void) {}
+
+
+int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)))
+{
+ enum return_type results;
+
+ char install_bootloader[] = "Re-install Boot Loader";
+#if ENABLE_RESCUE_MS_BOOT
+ char restore_ms_boot[] = "Restore Windows Boot Loader";
+#endif
+ char mount_parts[] = "Mount your partitions under /mnt";
+ char go_to_console[] = "Go to console";
+ char reboot_[] = "Reboot";
+ char doc[] = "Doc: what's addressed by this Rescue?";
+
+ 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 };
+ 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;
+
+ 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;
+ char * binary = NULL;
+
+ choice = "";
+ results = ask_from_list("Please choose the desired action.", actions, &choice);
+
+ if (ptr_begins_static_str(choice, install_bootloader)) {
+ binary = "/usr/bin/install_bootloader";
+ }
+#if ENABLE_RESCUE_MS_BOOT
+ if (ptr_begins_static_str(choice, restore_ms_boot)) {
+ binary = "/usr/bin/restore_ms_boot";
+ }
+#endif
+ if (ptr_begins_static_str(choice, mount_parts)) {
+ binary = "/usr/bin/guessmounts";
+ }
+ if (ptr_begins_static_str(choice, reboot_)) {
+ finish_frontend();
+ sync(); sync();
+ sleep(2);
+ unmount_filesystems();
+ sync(); sync();
+ printf("rebooting system\n");
+ sleep(2);
+ 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();
+ if (!(pid = fork())) {
+
+ char * child_argv[2];
+ child_argv[0] = binary;
+ child_argv[1] = NULL;
+
+ execve(child_argv[0], child_argv, env);
+ printf("Can't execute binary (%s)\n<press Enter>\n", binary);
+ PAUSE();
+
+ return 33;
+ }
+ while (wait4(-1, &wait_status, 0, NULL) != pid) {};
+ printf("<press Enter to return to Rescue menu>");
+ PAUSE();
+ resume_from_suspend();
+ if (!WIFEXITED(wait_status) || WEXITSTATUS(wait_status) != 0) {
+ error_message("Program exited abnormally (return code %d).", WEXITSTATUS(wait_status));
+ if (WIFSIGNALED(wait_status))
+ error_message("(received signal %d)", WTERMSIG(wait_status));
+ }
+ }
+
+ } while (results == RETURN_OK && !ptr_begins_static_str(choice, go_to_console));
+
+ finish_frontend();
+ printf("Bye.\n");
+
+ return 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 f96b5714e..000000000
--- a/mdk-stage1/rp-pppoe/src/Makefile
+++ /dev/null
@@ -1,58 +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
-
-ifeq (DIETLIBC, $(L))
-TARGETS += pppoe-DIET
-endif
-
-BINTARGET = ../pppoe-bin
-
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a $(BINTARGET) pppoe pppoe-DIET
-
-FLAGS = -Wall -Werror -Os -fomit-frame-pointer '-DPPPOE_PATH="/sbin/pppoe"' '-DPPPD_PATH="/sbin/pppd"' '-DVERSION="3.0-stg1"'
-
-
-
-OBJS = pppoe.o if.o debug.o common.o ppp.o discovery.o
-OBJS-DIET = $(subst .o,-DIET.o,$(OBJS))
-
-
-pppoe: $(OBJS)
- gcc -static -o $@ $^
- $(STRIPCMD) $@
- cp -f $@ $(BINTARGET)
-
-pppoe-DIET: $(OBJS-DIET)
- gcc $(DIETLIBC_LDFLAGS_STAGE1) -o $@ $^ $(DIETLIBC_LIBC)
- $(STRIPCMD) $@
- cp -f $@ $(BINTARGET)
-
-$(OBJS): %.o: %.c
- gcc $(FLAGS) $(GLIBC_INCLUDES) $(INCS) -c $< -o $@
-
-$(OBJS-DIET): %-DIET.o: %.c
- gcc $(FLAGS) $(DIETLIBC_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 4cd1dc6bb..000000000
--- a/mdk-stage1/slang/Makefile
+++ /dev/null
@@ -1,56 +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
-
-ifeq (DIETLIBC, $(L))
-TARGETS += $(LIBNAME)-DIET.a
-endif
-
-all: $(TARGETS)
-
-clean:
- rm -f *.o *.a
-
-OBJS-DIET = $(subst .o,-DIET.o,$(OBJS))
-
-$(LIBNAME).a: $(OBJS)
- ar -cru $@ $^
- ranlib $@
-
-$(LIBNAME)-DIET.a: $(OBJS-DIET)
- ar -cru $@ $^
- ranlib $@
-
-$(OBJS): %.o: %.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(GLIBC_INCLUDES) -c $< -o $@
-
-$(OBJS-DIET): %-DIET.o: %.c
- gcc $(CFLAGS) $(DEFS) $(INCS) $(DIETLIBC_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 b8c6914ce..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 MandrakeSoft
- *
- * View the homepage: http://us.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,9 +43,10 @@
#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"
@@ -67,7 +68,6 @@
/************************************************************
* globals */
-char * method_name;
void fatal_error(char *msg)
@@ -85,10 +85,19 @@ 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, ...)
@@ -104,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");
@@ -125,7 +136,7 @@ static void spawn_shell(void)
return;
}
- if (!fork()) {
+ if (!(shell_pid = fork())) {
dup2(fd, 0);
dup2(fd, 1);
dup2(fd, 2);
@@ -135,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";
@@ -183,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];
@@ -201,94 +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;
+ char * pcmcia_adapter;
- 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;
-
- 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
-
-static void handle_pcmcia(char ** pcmcia_adapter)
+#ifndef ENABLE_NETWORK_STANDALONE
+static void handle_hid(void)
{
-#ifdef ENABLE_PCMCIA
- *pcmcia_adapter = pcmcia_probe();
- if (!*pcmcia_adapter) {
- log_message("no pcmcia adapter found");
- return;
+ struct hid_entries entry_list;
+ unsigned int i;
+
+ 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();
-#endif
+ my_modprobe("hid_generic", ANY_DRIVER_TYPE, NULL);
}
/************************************************************
*/
-static enum return_type method_select_and_prepare(void)
+static void method_select_and_prepare(void)
{
enum return_type results;
char * choice;
@@ -305,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;
@@ -319,14 +295,15 @@ 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;
+ return method_select_and_prepare();
#ifndef DISABLE_CDROM
if (!strcmp(choice, cdrom_install))
@@ -341,48 +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, char **argv, char **env)
+int main(int argc __attribute__ ((unused)), char **argv __attribute__ ((unused)), char **env)
{
- enum return_type ret;
- char ** argptr;
- char * stage2_args[30];
- char * pcmcia_adapter = NULL;
+#ifdef ENABLE_NETWORK_STANDALONE
+ open_log();
+ init_frontend("");
- if (getpid() > 50)
+ unlink("/etc/resolv.conf"); /* otherwise it is read-only */
+ set_param(MODE_AUTOMATIC);
+ grab_automatic_params("network:dhcp");
+
+ 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();
- handle_pcmcia(&pcmcia_adapter);
+#ifdef ENABLE_PCMCIA
+ if (!IS_NOAUTO)
+ handle_pcmcia();
+#endif
+
+ handle_hid();
if (IS_CHANGEDISK)
stg1_info_message("You are starting the installation with an alternate booting method. "
@@ -390,50 +412,32 @@ int main(int argc, char **argv, char **env)
if (IS_RESCUE && total_memory() < MEM_LIMIT_RESCUE) {
stg1_error_message("You are starting the rescue with a low memory configuration. "
- "From that point, experience showed us that the program may stop "
- "or crash at any point without immediate proper reason. Continue at "
+ "Our experience shows that your system may crash at any point "
+ "or lock up for no apparent reason. Continue at "
"your own risk. Alternatively, you may reboot your system now.");
}
- ret = method_select_and_prepare();
+ method_select_and_prepare();
- finish_frontend();
- close_log();
+ thirdparty_destroy();
- if (ret != RETURN_OK)
- fatal_error("could not select an installation method");
-
- 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);
+#endif
- if (IS_RESCUE)
- return 66;
- if (IS_TESTING)
- return 0;
-
- argptr = stage2_args;
- *argptr++ = "/usr/bin/runinstall2";
- *argptr++ = "--method";
- *argptr++ = method_name;
- if (pcmcia_adapter) {
- *argptr++ = "--pcmcia";
- *argptr++ = pcmcia_adapter;
- }
- if (disable_modules)
- *argptr++ = "--blank";
- *argptr++ = NULL;
+ finish_preparing();
- execve(stage2_args[0], stage2_args, grab_env());
+ finish_frontend();
+ close_log();
- printf("error in exec of stage2 :-(\n");
- fatal_error(strerror(errno));
-
- return 0; /* shut up compiler (we can't get here anyway!) */
+ 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 431e10600..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,31 +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;
#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 5b37eafcd..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.
@@ -27,12 +27,15 @@
#include <sys/ioctl.h>
#include <termios.h>
-#include "frontend.h"
+#include <probing.h>
+#include "frontend.h"
+#include "utils.h"
void init_frontend(char * welcome_msg)
{
printf(welcome_msg);
+ printf("\n");
}
@@ -50,11 +53,12 @@ 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];
- int j = 0, i = 0; /* (0) tied to Cancel */
+ int j = 0;
+ unsigned int i = 0; /* (0) tied to Cancel */
fflush(stdout);
read(0, &(s[i++]), 1);
fcntl(0, F_SETFL, O_NONBLOCK);
@@ -72,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;
@@ -85,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;
@@ -104,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;
}
@@ -127,7 +129,7 @@ static char * get_string_response(char * initial_string)
b_index = 0;
continue;
}
-
+
if (b == 13)
break;
if (b == 127) {
@@ -142,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);
@@ -196,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;
@@ -211,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)
@@ -222,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) {
@@ -244,18 +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;
- 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);
@@ -277,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++;
@@ -292,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;
}
@@ -300,12 +295,6 @@ 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)
-{
- return ask_from_list_comments(msg, elems, NULL, choice);
-}
-
-
enum return_type ask_yes_no(char *msg)
{
int j;
@@ -322,7 +311,7 @@ enum return_type ask_yes_no(char *msg)
}
-enum return_type ask_from_entries(char *msg, char ** questions, char *** answers, int entry_size, void (*callback_func)(char ** strings))
+enum return_type ask_from_entries(char *msg, char ** questions, char *** answers, int entry_size UNUSED, void (*callback_func)(char ** strings) UNUSED)
{
int j, i = 0;
char ** already_answers = NULL;
@@ -336,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;
@@ -359,3 +348,7 @@ enum return_type ask_from_entries(char *msg, char ** questions, char *** answers
return RETURN_OK;
}
}
+
+
+void suspend_to_console(void) {}
+void resume_from_suspend(void) {}
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 e5d37f28b..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,171 +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, "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!");
@@ -212,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 5d38b0364..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 !strcmp
+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 236782a50..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,15 +137,9 @@ 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)) != strlen(buf)) {
+ 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(strlen(remotename) + 20);
- sprintf(buf, "GET %s HTTP/0.9\r\n\r\n", remotename);
+ 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 b7184bade..000000000
--- a/mdk-stage1/usb-resource/update-usb-ids.pl
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/perl
-
-
-sub cat_ { local *F; open F, $_[0] or $_[1] ? die "cat of file $_[0] failed: $!\n" : return; my @l = <F>; wantarray ? @l : join '', @l }
-
-
--x "../mar/mar" or die "\t*FAILED* Sorry, need ../mar/mar binary\n";
-
-
-my @usbtable_tmp = cat_("/usr/share/ldetect-lst/usbtable");
-my @usbtable;
-foreach (@usbtable_tmp) {
- next if /\s*#/;
- /\s*(\S+)\s+(\S+)\s+"(\S+)"\s+"([^"]*)"/ or next;
- push @usbtable, { 'vendor' => $1, 'id' => $2, 'module' => $3, 'description' => $4 };
-}
-
-
-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 "#ifdef ENABLE_USB
-struct pci_module_map usb_pci_ids[] = {
-
-";
-
-require '/usr/bin/merge2pcitable.pl';
-my $drivers = read_pcitable("/usr/share/ldetect-lst/pcitable");
-
-while (my ($k, $v) = each %$drivers) {
- $v->[0] =~ /^usb-/ 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);
-#endif
-";
-
-
-my @t = ('usbnet');
-
-
-foreach $type (@t) {
- my $modulez;
- foreach (glob("../../all.modules/*/${type}_modules.mar")) {
- -f $_ or die "\t*FAILED* Sorry, need $_ mar file\n";
- push @$modulez, (`../mar/mar -l $_`);
- }
-
- print "#ifdef ENABLE_".uc($type)."
-struct usb_module_map ${type}_usb_ids[] = {
-";
- foreach my $usbentry (@usbtable) {
- grep(/^\t$usbentry->{'module'}\.o\s/, @$modulez) or next;
- printf qq|\t{ %s, %s, ( "%s" ), ( "%s" ) },\n|,
- $usbentry->{'vendor'}, $usbentry->{'id'}, $usbentry->{'description'}, $usbentry->{'module'};
- }
-
- print "};
-int ${type}_usb_num_ids=sizeof(${type}_usb_ids)/sizeof(struct usb_module_map);
-#endif
-";
-
-}
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 d783193d2..000000000
--- a/perl-install/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-debug.log
-auto_inst.cfg
-auto
-t.pm
-modparm.lst
-*.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
new file mode 100644
index 000000000..ba1263215
--- /dev/null
+++ b/perl-install/.perl_checker
@@ -0,0 +1,6 @@
+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 716dbbf75..000000000
--- a/perl-install/ChangeLog
+++ /dev/null
@@ -1,15650 +0,0 @@
-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 tvignaud
-
- * 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 tvignaud
-
- * 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 tvignaud
-
- * 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 tvignaud
-
- * 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 1ebc673fd..0fe946485 100644
--- a/perl-install/Makefile
+++ b/perl-install/Makefile
@@ -1,174 +1,93 @@
+include ../Makefile.config
include Makefile.config
-POFILES = $(shell ls share/po/*.po)
-MOFILES = $(POFILES:%.po=%.mo)
+PACKAGE = drakxtools
+PKGVERSION = $(VERSION)
-.PHONY: all $(DIRS) install clean stage2 full_stage2 verify_c
+POFILES = $(shell ls share/po/*.po)
+MOFILES = $(POFILES:%.po=%.mo)
+OTHERS = $(OTHERDIRS) $(OTHERFILES)
+OTHERDIRS = tools/serial_probe
+OTHERFILES = tools/rpcinfo-flushed.c
+
+.PHONY: all $(DIRS) install clean
all: TAGS $(DIRS)
-TAGS: $(PMS)
- etags -o - $^ /usr/lib/perl5/site_perl/*/MDK/Common/*.pm | ./perl2etags > $@
+xs: $(DIRS)
+
+TAGS: $(ALLPMS)
+ -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
+ 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
+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
-tar-drakxtools: clean
- rm -rf standalone/pixmaps
- $(MAKE) -C ../tools clean
- cd .. ; rm -rf drakxtools ; cp -af perl-install drakxtools ; cp -af tools/rpcinfo-flushed.c tools/ddcprobe tools/serial_probe drakxtools
- cd ../drakxtools ; perl -pi -e 's/^C_RPM.*/C_RPM=0/; s/^C_DRAKX.*/C_DRAKX=0/' c/Makefile
- cd ../drakxtools ; rm -rf install* pkgs.pm help.pm ftp.pm t.pm */CVS ; mv Makefile.drakxtools Makefile ; mv -f standalone/* .
- cd .. ; tar cfj drakxtools.tar.bz2 --exclude CVS $(patsubst %,drakxtools/%,Makefile Makefile.config Newt c ddcprobe serial_probe share/po sbus_probing resize_fat share/diskdrake.rc share/wizard.rc $(STANDALONEPMS) icons pixmaps network interactive_http rpcinfo-flushed.c *.pm)
- cd .. ; rm -rf drakxtools
+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: verify_c
- for i in install2 install_steps_*.pm standalone/keyboarddrake standalone/XFdrake standalone/drakboot; do perl_checker -I. -no_cw -excludec -excludehelp -excluderesize_fat::c_rewritten -excludeMDK::Common::Globals -excludeCGI $$i; done
- for i in install2 install_steps_*.pm; do perl -cw -I. $$i; done
+test_pms:
+ perl_checker install/install2.pm install/steps_gtk.pm install/steps_stdio.pm partition_table/*.pm standalone/{harddrake2,diskdrake,draksec}
-verify_c:
- ./verify_c $(PMS)
+test_pms_all:
+ 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)
- for i in $(PMS); do \
- dest=$(DESTREP4PMS)/`dirname $$i`; \
- install -d $$dest; \
- perl -ne 'print' $$i > $(DESTREP4PMS)/$$i; \
- perl -pe 's/#[-+].*//; $$_ = "\n" if (/^=head/ .. /^=cut/) || /use (diagnostics|vars|strict)/' $$i > $(DESTREP4PMS)/$$i; \
- done
-# perl -pe 's/#-.*//; $$_ = "\n" if (/^=head/ .. /^=cut/) || /use (diagnostics)/' $$i > $(DESTREP4PMS)/$$i; \
-
- cp share/*.rc $(DESTREP4PMS)
- chmod a+x $(DESTREP4PMS)/install2
- chmod a+x $(DESTREP4PMS)/commands
- chmod a+x $(DESTREP4PMS)/standalone/*
- chmod a+x $(DESTREP4PMS)/g_auto_install
- chmod a+x $(DESTREP4PMS)/live_install*
-
-get_needed_files: $(DIRS) $(MOFILES)
- $(MAKE) -C share
-
-# 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" | perl -pe "s/PERL_VERSION/$$version/g" > /tmp/list
-
- @missing=`perl -lne 'print if !-e $$_' /tmp/list`; [ -z "$$missing" ] || { echo "missing files vvvvvvvvvvvvvvvvvvvvvvvvvv" ; echo "$$missing" ; echo "missing files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" ; exit 1; }
-
- find auto -follow -name "*.so" >> /tmp/list
-
- for i in $(LOCALFILES) `cat /tmp/list` ; do \
- ldd $$i 2>/dev/null | grep "=>" | sed -e 's/.*=> //' -e 's/ .*//' | uniq | sort >> /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)/bin
- install -d $(DEST)/usr/bin
- 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 ../all.kernels/*/cardmgr/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; \
- 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
- mv -f $(DEST)/lib/libimlib-png.so $(DEST)/usr/lib
-
-# # transform xpm's in png's
- for i in $(DEST)/usr/share/icons/*.xpm; do convert $$i `echo $$i | sed 's/xpm/png/'`; rm $$i; done
-
- 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
- ln -sf ash $(DEST)/usr/bin/sh
-
- for i in fonts keyboards locales keymaps; do tar xfj `../tools/specific_arch share/$$i.tar.bz2` -C $(DEST); done
-
- grep ChangeLog CVS/Entries > $(DEST)/usr/share/VERSION
-
- gzip -9f $(DEST)/usr/share/ldetect-lst/*
-
- cd share ; cp -a modparm.lst $(DEST)/usr/share
- cd share ; cp -a consolefonts $(DEST)/usr/share
- cd share ; cp template.in/*.in $(DEST)/usr/share
- -cd share ; cp -f *.png *.xpm $(DEST)/usr/share
- -cd pixmaps ; cp -f *.png *.xpm $(DEST)/usr/share ; rm -f $(DEST)/usr/share/wiz_*
- cd share ; cp -a themes $(DEST)/usr/share/gtk
- cd share ; cp compssUsers compssUsers.desktop rpmsrate $(ROOTDEST)/Mandrake/base
-
- for i in ../all.modules/modules.cz*; do cp -f $$i $(DEST)/lib/; done
-
- $(MAKE) -C share/po install NAME=libDrakX LOCALEDIR=$(DEST)/usr/share/locale_special
-
-# 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
- patch --no-backup-if-mismatch -p0 -d $(DEST)/etc < ../tools/pcmcia_config.patch
-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
- $(ROOTDEST)/misc/make_mdkinst_stage2 $(DEST) $(ROOTDEST)/Mandrake/base/mdkinst_stage2
+install_pms stage2 full_stage2:
+ make -C install $@
+
+mo_files : $(MOFILES)
+
+# rules to build tarball
+dist: tar
+
+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)
+
+tag:
+ git tag -a $(VERSION) -m "$(VERSION)"
+
+# rules to build a distributable rpm
+
+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
+
+# [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
+
+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
+
+list_firmwares.pm:
+ ../tools/find-drivers-needing-nonfree-firmware
+
+.PHONY: list_firmwares.pm
diff --git a/perl-install/Makefile.config b/perl-install/Makefile.config
index 31609029d..b522c643e 100644
--- a/perl-install/Makefile.config
+++ b/perl-install/Makefile.config
@@ -1,21 +1,20 @@
-ARCH := $(patsubst i%86,i386,$(shell uname -m))
-ARCH := $(patsubst sparc%,sparc,$(ARCH))
+# -*- Makefile -*-
+VERSION:=18.69
-VERSION = 2.2.10-BOOT
SUDO = sudo
-SO_FILES = c/blib/arch/auto/c/c.so
-PMS = *.pm Newt/*.pm c/stuff.pm resize_fat/*.pm sbus_probing/*.pm network/*.pm commands install2 g_auto_install live_install live_install2
-STANDALONEPMS= diskdrake XFdrake mousedrake printerdrake keyboarddrake draknet localedrake net_monitor drakbug_report tinyfirewall drakxconf drakxservices draksec drakboot adduserdrake drakgw drakautoinst livedrake
-PMS += $(STANDALONEPMS:%=standalone/%)
-REP4PMS = /usr/bin/perl-install
-ROOTDEST = /export
-DEST = $(ROOTDEST)/Mandrake/mdkinst
-STAGE2 = $(ROOTDEST)/Mandrake/base/mdkinst_stage2
-BASE = $(ROOTDEST)/Mandrake/base
-DESTREP4PMS = $(DEST)$(REP4PMS)
+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)
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 153212f4c..431f3a85d 100644
--- a/perl-install/Makefile.drakxtools
+++ b/perl-install/Makefile.drakxtools
@@ -1,52 +1,108 @@
+# -*- Makefile -*-
include Makefile.config
-INLIBDEST_DIRS = Newt c resize_fat sbus_probing
-HAVEINST_DIRS = share/po interactive_http
-DIRS = $(INLIBDEST_DIRS) $(HAVEINST_DIRS) ddcprobe 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
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)
-NETLIBDEST = $(LIBDIR)/$(NAME)/network
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 standalone ; ln -s . standalone
- rm -f share/po/DrakX.pot # force rebuild of po's
[ ! -e $@/Makefile ] || $(MAKE) -C $@
install:
- install -d $(BINDEST) $(ETCDEST) $(SBINDEST) $(DATADIR) $(LIBDEST) $(NETLIBDEST) $(BINX11DEST) $(LIBX11DEST) $(PIXDIR)
+ 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) $(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)
- install -m 644 network/*.pm $(NETLIBDEST)
- install -m 644 pixmaps/* $(PIXDIR)
- install -m 644 share/diskdrake.rc $(ETCDEST)
- install -m 644 share/wizard.rc $(ETCDEST)
+ 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/*.rc $(DATADIR)/$(NAME)
+ install -m 644 share/*.css $(DATADIR)/$(NAME)
- install -m 644 $(patsubst %,Newt/%.pm,Newt) $(LIBDEST)/Newt
- install -m 644 $(patsubst %,c/%.pm,stuff) $(LIBDEST)/c
- install -m 644 $(patsubst %,sbus_probing/%.pm,main) $(LIBDEST)/sbus_probing
- install -m 644 $(patsubst %,resize_fat/%.pm,main any boot_sector c_rewritten dir_entry directory fat info_sector io) $(LIBDEST)/resize_fat
+ install -d $(PREFIX)/etc/security
+ echo 'RESTRICT=yes' > $(PREFIX)/etc/security/fileshare.conf
- find $(LIBDEST) -name "*.pm" | xargs perl -pi -e '$$_ = "\n" if /\s*use\s+(diagnostics|vars|strict)/'
+ 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) ; \
- done
+ $(MAKE) -C $$i install PREFIX=$(PREFIX) SUDO= DATADIR=$(DATADIR) ; \
+ done
+
+ find auto -follow -name .exists -o -name "*.bs" | xargs rm -f
+ cp -rfL auto standalone/icons $(LIBDEST)
+ 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
+ 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)/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
- cp -rfL auto icons $(LIBDEST)
+../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 cb80c5ab7..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=
- 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 fdf9c0232..000000000
--- a/perl-install/Newt/Newt.pm
+++ /dev/null
@@ -1,16 +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';
-bootstrap Newt $VERSION;
-
-package Newt::Component; # $Id$
-package Newt::Grid; # $Id$
-
-
-1;
diff --git a/perl-install/Newt/Newt.xs b/perl-install/Newt/Newt.xs
deleted file mode 100644
index fba7c5455..000000000
--- a/perl-install/Newt/Newt.xs
+++ /dev/null
@@ -1,478 +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;
-
-void
-newtWinMenu(title,text,suggestedWidth,flexDown,flexUp,maxListHeight,list,def,buttons, ...)
- char * title;
- char * text;
- int suggestedWidth;
- int flexDown;
- int flexUp;
- int maxListHeight;
- char **list;
- int def;
- char *buttons;
- PPCODE:
- {
- int button;
-#define nb 8
-#define a(i) SvPV(ST(i + nb),PL_na)
- button = newtWinMenu(title, text, suggestedWidth, flexDown, flexUp, maxListHeight, list, &def,
- items > nb + 0 ? a( 0) : NULL,
- items > nb + 1 ? a( 1) : NULL,
- items > nb + 2 ? a( 2) : NULL,
- items > nb + 3 ? a( 3) : NULL,
- items > nb + 4 ? a( 4) : NULL,
- items > nb + 5 ? a( 5) : NULL,
- items > nb + 6 ? a( 6) : NULL,
- items > nb + 7 ? a( 7) : NULL,
- items > nb + 8 ? a( 8) : NULL,
- items > nb + 9 ? a( 9) : NULL,
- items > nb + 10 ? a(10) : NULL,
- NULL);
-#undef a
- EXTEND(SP, 2);
- PUSHs(sv_2mortal(newSViv(button)));
- PUSHs(sv_2mortal(newSViv(def)));
- }
-
-MODULE = Newt PACKAGE = Newt::Component PREFIX = newt
-
-void
-addCallback(co, callback)
- Newt::Component co;
- SV *callback;
- CODE:
- newtComponentAddCallback(co, componentCallback, callback);
-
-Newt::Component
-newtCompactButton(left,top,text)
- int left;
- int top;
- const char * text;
-
-Newt::Component
-newtButton(left,top,text)
- int left;
- int top;
- const char * text;
-
-Newt::Component
-newtCheckbox(left,top,text,defValue,seq)
- int left;
- int top;
- const char * text;
- char *defValue;
- const char * seq;
- CODE:
- RETVAL = newtCheckbox(left, top, 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(left,top,text)
- int left;
- int top;
- const char * text;
-
-void
-newtLabelSetText(co,text)
- Newt::Component co;
- const char * text;
-
-Newt::Component
-newtVerticalScrollbar(left,top,height,normalColorset,thumbColorset)
- int left;
- int top;
- int height;
- int normalColorset;
- int thumbColorset;
-
-void
-newtScrollbarSet(co,where,total)
- Newt::Component co;
- int where;
- int total;
-
-Newt::Component
-newtListbox(left,top,height,flags)
- int left;
- int top;
- int height;
- int flags;
-
-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
-newtTextboxReflowed(left,top,text,width,flexDown,flexUp,flags)
- int left;
- int top;
- char * text;
- int width;
- int flexDown;
- int flexUp;
- int flags;
-
-Newt::Component
-newtTextbox(left,top,width,height,flags)
- int left;
- int top;
- int width;
- int height;
- int flags;
-
-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;
- const 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(left,top,initialValue,width,flag)
- int left;
- int top;
- const char * initialValue;
- int width;
- int flag;
- CODE:
- {
- char *result;
- RETVAL = newtEntry(left,top,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
-HCloseStacked(first, ...)
- Newt::Component first;
- CODE:
- {
- int i;
- newtComponent *p = alloca(sizeof(newtComponent) * (2 * items + 1));
- for (i = 0; i < items; i++) {
- p[2 * i] = 1;
- p[2 * i + 1] = (newtComponent)SvIV((SV*)SvRV( ST(i) ));
- }
- p[2 * items] = NULL;
- RETVAL = ((newtGrid (*)()) newtGridHCloseStacked)();
- }
-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.pm b/perl-install/Xconfig.pm
deleted file mode 100644
index 77b5b9c4b..000000000
--- a/perl-install/Xconfig.pm
+++ /dev/null
@@ -1,216 +0,0 @@
-package Xconfig; # $Id$
-
-use diagnostics;
-use strict;
-
-use common;
-use mouse;
-use devices;
-use Xconfigurator;
-
-# otherwise uses the rule substr($keymap, 0, 2)
-my %keymap_translate = (
- cf => "ca_enhanced",
- uk => "gb",
-);
-
-
-1;
-
-sub keymap_translate {
- $keymap_translate{$_[0]} || substr($_[0], 0, 2);
-}
-
-
-sub getinfo {
- my $o = shift || {};
- getinfoFromDDC($o);
- getinfoFromSysconfig($o);
-
- my ($mouse) = mouse::detect();
- add2hash($o->{mouse}, $mouse) unless $o->{mouse}{XMOUSETYPE};
- add2hash($o->{mouse}{auxmouse}, $mouse->{auxmouse}) unless $o->{mouse}{auxmouse}{XMOUSETYPE};
- $o->{mouse}{auxmouse}{XMOUSETYPE} or delete $o->{mouse}{auxmouse};
-
- $o->{mouse}{device} ||= "mouse" if -e "/dev/mouse";
- $o;
-}
-
-sub getinfoFromXF86Config {
- my $o = shift || {}; #- original $::o->{X} which must be changed only if sure!
- my $prefix = shift || "";
- my (%keyboard, %mouse, %wacom, %card, %monitor);
- my (%c, $depth, $driver);
-
- local $_;
- local *G; open G, "$prefix/etc/X11/XF86Config-4";
- while (<G>) {
- if (my $i = /^Section "InputDevice"/ .. /^EndSection/) {
- %c = () if $i == 1;
-
- $c{driver} = $1 if /^\s*Driver\s+"(.*?)"/;
- $c{id} = $1 if /^\s*Identifier\s+"[^\d"]*(\d*)"/;
- $c{xkb_model} ||= $1 if /^\s*Option\s+"XkbModel"\s+"(.*?)"/;
- $c{xkb_keymap} ||= $1 if /^\s*Option\s+"XkbLayout"\s+"(.*?)"/;
- $c{XMOUSETYPE} ||= $1 if /^\s*Option\s+"Protocol"\s+"(.*?)"/;
- $c{device} ||= $1 if /^\s*Option\s+"Device"\s+"\/dev\/(.*?)"/;
- $c{chordmiddle} ||= $1 if /^\s*Option\s+"ChordMiddle"\s+"\/dev\/(.*?)"/;
- $c{nbuttons} = 2 if /^\s*Option\s+"Emulate3Buttons"\s+/;
- $c{nbuttons} ||= 5 if /^\s*#\s*Option\s+"ZAxisMapping"\s.*5/;
- $c{nbuttons} = 7 if /^\s*#\s*Option\s+"ZAxisMapping"\s.*7/;
-
- if ($i =~ /E0/) {
- @keyboard{qw(xkb_keymap)} = @c{qw(xkb_keymap)}
- if $c{driver} =~ /keyboard/i;
- @{$mouse{auxmouse}}{qw(XMOUSETYPE device chordmiddle nbuttons)} = @c{qw(XMOUSETYPE device chordmiddle nbuttons)}
- if $c{driver} =~ /mouse/i && $c{id} > 1;
- @mouse{qw(XMOUSETYPE device chordmiddle nbuttons)} = @c{qw(XMOUSETYPE device chordmiddle nbuttons)}
- if $c{driver} =~ /mouse/i && $c{id} < 1;
- $wacom{$c{device}} = undef
- if $c{driver} =~ /wacom/i;
- }
- } elsif (/^Section "Monitor"/ .. /^EndSection/) {
- $monitor{type} ||= $1 if /^\s*Identifier\s+"(.*?)"/;
- $monitor{hsyncrange} ||= $1 if /^\s*HorizSync\s+(.*)/;
- $monitor{vsyncrange} ||= $1 if /^\s*VertRefresh\s+(.*)/;
- $monitor{vendor} ||= $1 if /^\s*VendorName\s+"(.*?)"/;
- $monitor{model} ||= $1 if /^\s*ModelName\s+"(.*?)"/;
- $monitor{modelines_}{"$1_$2"} = $_ if /^\s*Mode[lL]ine\s+(\S+)\s+(\S+)\s+/;
- } elsif (my $s = /^Section "Screen"/ .. /^EndSection/) {
- $card{default_depth} ||= $1 if /^\s*DefaultColorDepth\s+(\d+)/;
- if (my $i = /^\s*Subsection\s+"Display"/ .. /^\s*EndSubsection/) {
- undef $depth if $i == 1;
- $depth = $1 if /^\s*Depth\s+(\d*)/;
- if (/^\s*Modes\s+(.*)/) {
- my $a = 0;
- unshift @{$card{depth}{$depth || 8} ||= []}, #- insert at the beginning for resolution_wanted!
- grep { $_->[0] >= 640 } map { [ /"(\d+)x(\d+)"/ ] } split ' ', $1;
- }
- }
- }
- }
- close G;
- local *F; open F, "$prefix/etc/X11/XF86Config";
- while (<F>) {
- if (/^Section "Keyboard"/ .. /^EndSection/) {
- $keyboard{xkb_model} ||= $1 if /^\s*XkbModel\s+"(.*?)"/;
- $keyboard{xkb_keymap} ||= $1 if /^\s*XkbLayout\s+"(.*?)"/;
- } elsif (/^Section "Pointer"/ .. /^EndSection/) {
- $mouse{XMOUSETYPE} ||= $1 if /^\s*Protocol\s+"(.*?)"/;
- $mouse{device} ||= $1 if m|^\s*Device\s+"/dev/(.*?)"|;
- $mouse{cleardtrrts} ||= 1 if m/^\s*ClearDTR\s+/;
- $mouse{cleardtrrts} ||= 1 if m/^\s*ClearRTS\s+/;
- $mouse{chordmiddle} ||= 1 if m/^\s*ChordMiddle\s+/;
- $mouse{nbuttons} = 2 if m/^\s*Emulate3Buttons\s+/;
- $mouse{nbuttons} ||= 5 if m/^\s*ZAxisMapping\s.*5/;
- $mouse{nbuttons} = 7 if m/^\s*ZAxisMapping\s.*7/;
- } elsif (/^Section "XInput"/ .. /^EndSection/) {
- if (/^\s*SubSection "Wacom/ .. /^\s*EndSubSection/) {
- $wacom{$1} = undef if /^\s*Port\s+"\/dev\/(.*?)"/;
- }
- } elsif (/^Section "Monitor"/ .. /^EndSection/) {
- $monitor{type} ||= $1 if /^\s*Identifier\s+"(.*?)"/;
- $monitor{hsyncrange} ||= $1 if /^\s*HorizSync\s+(.*)/;
- $monitor{vsyncrange} ||= $1 if /^\s*VertRefresh\s+(.*)/;
- $monitor{vendor} ||= $1 if /^\s*VendorName\s+"(.*?)"/;
- $monitor{model} ||= $1 if /^\s*ModelName\s+"(.*?)"/;
- $monitor{modelines_}{"$1_$2"} = $_ if /^\s*Mode[lL]ine\s+(\S+)\s+(\S+)\s+/;
- } elsif (my $i = /^Section "Device"/ .. /^EndSection/) {
- %c = () if $i == 1;
-
- $c{type} ||= $1 if /^\s*Identifier\s+"(.*?)"/;
- $c{memory} ||= $1 if /VideoRam\s+(\d+)/;
- $c{flags}{needVideoRam} ||= 1 if /^\s*VideoRam\s+/;
- $c{vendor} ||= $1 if /^\s*VendorName\s+"(.*?)"/;
- $c{board} ||= $1 if /^\s*BoardName\s+"(.*?)"/;
- $c{driver} ||= $1 if /^\s*Driver\s+"(.*?)"/;
- $c{options_xf3}{$1} ||= 1 if /^\s*Option\s+"(.*?)"/;
- $c{options_xf3}{$1} ||= 0 if /^\s*#\s*Option\s+"(.*?)"/;
-
- add2hash(\%card, \%c) if ($i =~ /E0/ && $c{type} && $c{type} ne "Generic VGA");
- } elsif (my $s = /^Section "Screen"/ .. /^EndSection/) {
- undef $driver if $s == 1;
- $driver = $1 if /^\s*Driver\s+"(.*?)"/;
- if ($driver eq $Xconfigurator::serversdriver{$card{server}}) {
- $card{default_depth} ||= $1 if /^\s*DefaultColorDepth\s+(\d+)/;
- if (my $i = /^\s*Subsection\s+"Display"/ .. /^\s*EndSubsection/) {
- undef $depth if $i == 1;
- $depth = $1 if /^\s*Depth\s+(\d*)/;
- if (/^\s*Modes\s+(.*)/) {
- my $a = 0;
- unshift @{$card{depth}{$depth || 8} ||= []}, #- insert at the beginning for resolution_wanted!
- grep { $_->[0] >= 640 } map { [ /"(\d+)x(\d+)"/ ] } split ' ', $1;
- }
- }
- }
- }
- }
- close F;
-
- #- clean up modeline by those automatically given by $modelines_text.
- foreach (split /\n/, $Xconfigurator::modelines_text) {
- delete $monitor{modelines_}{"$1_$2"} if /^\s*Mode[lL]ine\s+(\S+)\s+(\S+)\s+(.*)/;
- }
- $monitor{modelines} .= $_ foreach values %{$monitor{modelines_}}; delete $monitor{modelines_};
-
- #- get the default resolution according the the current file.
- #- suggestion to take into account, but that have to be checked.
- $o->{card}{suggest_depth} = $card{default_depth};
- if (my @depth = keys %{$card{depth}}) {
- $o->{card}{suggest_wres} = ($card{depth}{$o->{card}{suggest_depth} || $depth[0]}[0][0]);
- }
-
- #- final clean-up.
- $mouse{nbuttons} ||= 3; #- when no tag found, this is because there is 3 buttons.
- $mouse{auxmouse}{nbuttons} ||= 3;
- mouse::update_type_name(\%mouse); #- allow getting fullname (type|name).
- mouse::update_type_name($mouse{auxmouse});
- delete $mouse{auxmouse} unless $mouse{auxmouse}{XMOUSETYPE}; #- only take care of a true mouse.
-
- #- try to merge with $o, the previous has been obtained by ddcxinfos.
- add2hash($o->{keyboard} ||= {}, \%keyboard);
- add2hash($o->{mouse} ||= {}, \%mouse);
- @{$o->{wacom} || []} > 0 or $o->{wacom} = [ keys %wacom ];
- add2hash($o->{monitor} ||= {}, \%monitor);
-
- $o;
-}
-
-sub getinfoFromSysconfig {
- my $o = shift || {};
- my $prefix = shift || "";
-
- add2hash($o->{mouse} ||= {}, { getVarsFromSh("$prefix/etc/sysconfig/mouse") });
-
- if (my %keyboard = getVarsFromSh "$prefix/etc/sysconfig/keyboard") {
- $o->{keyboard}{xkb_keymap} ||= keymap_translate($keyboard{KEYTABLE}) if $keyboard{KEYTABLE};
- }
- $o;
-}
-
-sub getinfoFromDDC {
- my $o = shift || {};
- my $O = $o->{monitor} ||= {};
- #- return $o if $O->{hsyncrange} && $O->{vsyncrange} && $O->{modelines};
- my ($m, @l) = `ddcxinfos`;
- $? == 0 or return $o;
-
- $o->{card}{memory} ||= to_int($m);
- local $_;
- while (($_ = shift @l) ne "\n") {
- my ($depth, $x, $y) = split;
- $depth = int(log($depth) / log(2));
- if ($depth >= 8 && $x >= 640) {
- push @{$o->{card}{depth}{$depth}}, [ $x, $y ] unless scalar grep { $_->[0] == $x && $_->[1] == $y } @{$o->{card}{depth}{$depth}};
- push @{$o->{card}{depth}{32}}, [ $x, $y ] if $depth == 24 && ! scalar grep { $_->[0] == $x && $_->[1] == $y } @{$o->{card}{depth}{32}};
- }
- }
- my ($h, $v, $size, @m) = @l;
-
- $O->{hsyncrange} ||= first($h =~ /^(\S*)/);
- $O->{vsyncrange} ||= first($v =~ /^(\S*)/);
- $O->{size} ||= to_float($size);
- $O->{EISA_ID} = lc($1) if $size =~ /EISA ID=(\S*)/;
- $O->{modelines} ||= join '', @m;
- $o;
-}
diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm
deleted file mode 100644
index 1540788f3..000000000
--- a/perl-install/Xconfigurator.pm
+++ /dev/null
@@ -1,1485 +0,0 @@
-package Xconfigurator; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw($in $do_pkgs @window_managers @depths @monitorSize2resolution @hsyncranges %min_hsync4wres @vsyncranges %depths @resolutions %serversdriver @svgaservers @accelservers @allbutfbservers @allservers %vgamodes %videomemory @ramdac_name @ramdac_id @clockchip_name @clockchip_id %keymap_translate %standard_monitors $XF86firstchunk_text $keyboardsection_start $keyboardsection_start_v4 $keyboardsection_part2 $keyboardsection_part3 $keyboardsection_part3_v4 $keyboardsection_end $pointersection_text $monitorsection_text1 $monitorsection_text2 $monitorsection_text3 $monitorsection_text4 $modelines_text_Trident_TG_96xx $modelines_text_ext $modelines_text $devicesection_text $devicesection_text_v4 $screensection_text1 %lines @options %xkb_options $good_default_monitor $low_default_monitor $layoutsection_v4 $modelines_text_apple);
-
-use common;
-use log;
-use detect_devices;
-use run_program;
-use Xconfigurator_consts;
-use any;
-use modules;
-use my_gtk qw(:helpers :wrappers);
-
-my $tmpconfig = "/tmp/Xconfig";
-
-my ($prefix, %monitors, %standard_monitors_);
-
-
-sub xtest {
- my ($display) = @_;
- $::isStandalone ?
- system("DISPLAY=$display /usr/X11R6/bin/xtest") == 0 :
- c::Xtest($display);
-}
-
-sub getVGAMode($) { $_[0]->{card}{vga_mode} || $vgamodes{"640x480x16"}; }
-
-sub readCardsDB {
- my ($file) = @_;
- my ($card, %cards);
-
- my $F = common::openFileMaybeCompressed($file);
-
- my ($lineno, $cmd, $val) = 0;
- my $fs = {
- LINE => sub { push @{$card->{lines}}, $val unless $val eq "VideoRam" },
- NAME => sub {
- $cards{$card->{type}} = $card if $card;
- $card = { type => $val };
- },
- SEE => sub {
- my $c = $cards{$val} or die "Error in database, invalid reference $val at line $lineno";
-
- push @{$card->{lines}}, @{$c->{lines} || []};
- add2hash($card->{flags}, $c->{flags});
- add2hash($card, $c);
- },
- CHIPSET => sub {
- $card->{chipset} = $val;
- $card->{flags}{needChipset} = 1 if $val eq 'GeForce DDR';
- $card->{flags}{needVideoRam} = 1 if member($val, qw(mgag10 mgag200 RIVA128 SiS6326));
- },
- SERVER => sub { $card->{server} = $val; },
- DRIVER => sub { $card->{driver} = $val; },
- RAMDAC => sub { $card->{ramdac} = $val; },
- DACSPEED => sub { $card->{dacspeed} = $val; },
- CLOCKCHIP => sub { $card->{clockchip} = $val; $card->{flags}{noclockprobe} = 1; },
- NOCLOCKPROBE => sub { $card->{flags}{noclockprobe} = 1 },
- UNSUPPORTED => sub { $card->{flags}{unsupported} = 1 },
- COMMENT => sub {},
- };
-
- local $_;
- while (<$F>) { $lineno++;
- s/\s+$//;
- /^#/ and next;
- /^$/ and next;
- /^END/ and do { $cards{$card->{type}} = $card if $card; last };
-
- ($cmd, $val) = /(\S+)\s*(.*)/ or next; #log::l("bad line $lineno ($_)"), next;
-
- my $f = $fs->{$cmd};
-
- $f ? $f->() : log::l("unknown line $lineno ($_)");
- }
- \%cards;
-}
-sub readCardsNames {
- my $file = "$ENV{SHARE_PATH}/ldetect-lst/CardsNames";
- map { (split '=>')[0] } grep { !/^#/ } catMaybeCompressed($file);
-}
-sub cardName2RealName {
- my ($name) = @_;
- my $file = "$ENV{SHARE_PATH}/ldetect-lst/CardsNames";
- foreach (catMaybeCompressed($file)) {
- chop;
- next if /^#/;
- my ($name_, $real) = split '=>';
- return $real if $name eq $name_;
- }
- $name;
-}
-sub updateCardAccordingName {
- my ($card, $name) = @_;
- my $cards = readCardsDB("$ENV{SHARE_PATH}/ldetect-lst/Cards+");
-
- add2hash($card->{flags}, $cards->{$name}{flags});
- add2hash($card, $cards->{$name});
- $card;
-}
-
-sub readMonitorsDB {
- my ($file) = @_;
-
- %monitors and return;
-
- my $F = common::openFileMaybeCompressed($file);
- local $_;
- my $lineno = 0; while (<$F>) {
- $lineno++;
- s/\s+$//;
- /^#/ and next;
- /^$/ and next;
-
- my @fields = qw(vendor type eisa hsyncrange vsyncrange dpms);
- my @l = split /\s*;\s*/;
-
- my %l; @l{@fields} = @l;
- if ($monitors{$l{type}}) {
- my $i; for ($i = 0; $monitors{"$l{type} ($i)"}; $i++) {}
- $l{type} = "$l{type} ($i)";
- }
- $monitors{"$l{vendor}|$l{type}"} = \%l;
- }
- while (my ($k, $v) = each %standard_monitors) {
- $monitors{'Generic|' . translate($k)} = $standard_monitors_{$k} =
- { hsyncrange => $v->[1], vsyncrange => $v->[2] };
- }
-}
-
-sub keepOnlyLegalModes {
- my ($card, $monitor) = @_;
- my $mem = 1024 * ($card->{memory} || ($card->{server} eq 'FBDev' ? 2048 : 32768)); #- limit to 2048x1536x64
- my $hsync = max(split(/[,-]/, $monitor->{hsyncrange}));
-
- while (my ($depth, $res) = each %{$card->{depth}}) {
- @$res = grep {
- $mem >= product(@$_, $depth / 8) &&
- $hsync >= ($min_hsync4wres{$_->[0]} || 0) &&
- ($card->{server} ne 'FBDev' || $vgamodes{"$_->[0]x$_->[1]x$depth"})
- } @$res;
- delete $card->{depth}{$depth} if @$res == 0;
- }
-}
-
-sub cardConfigurationAuto() {
- my @cards;
- if (my @c = grep { $_->{driver} =~ /(Card|Server):/ } detect_devices::probeall()) {
- foreach my $i (0..$#c) {
- local $_ = $c[$i]->{driver};
- my $card = { identifier => ($c[$i]{description} . (@c > 1 && " $i")) };
- $card->{type} = $1 if /Card:(.*)/;
- $card->{server} = $1 if /Server:(.*)/;
- $card->{flags}{needVideoRam} = /86c368|S3 Inc/;
- $card->{busid} = "PCI:$c[$i]{pci_bus}:$c[$i]{pci_device}:$c[$i]{pci_function}";
- push @{$card->{lines}}, @{$lines{$card->{identifier}} || []};
- push @cards, $card;
- }
- }
- #- 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!");
- local $_ = cat_("/proc/fb");
- if (/Mach64/) { push @cards, { server => "Mach64" } }
- elsif (/Permedia2/) { push @cards, { server => "3DLabs" } }
- else { push @cards, { server => "Sun24" } }
- }
- #- special case for dual head card using only one busid.
- @cards = map { my $dup = $_->{identifier} =~ /MGA G450/ ? 2 : 1;
- if ($dup > 1) {
- my @result;
- my $orig = $_;
- foreach (1..$dup) {
- my $card = {};
- add2hash($card, $orig);
- push @result, $card;
- }
- @result;
- } else {
- ($_);
- }
- } @cards;
- #- make sure no type are already used, duplicate both screen
- #- and rename type (because used as id).
- if (@cards > 1) {
- my $card = 1;
- foreach (@cards) {
- updateCardAccordingName($_, $_->{type}) if $_->{type};
- $_->{type} = "$_->{type} $card";
- $card++;
- }
- }
- #- 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?
- @cards == 1 and delete $cards[0]{busid} if arch() !~ /ppc/;
- @cards;
-}
-
-sub cardConfiguration(;$$$) {
- my ($card, $noauto, $cardOptions) = @_;
- $card ||= {};
-
- updateCardAccordingName($card, $card->{type}) if $card->{type}; #- try to get info from given type
- undef $card->{type} unless $card->{server} || $card->{driver}; #- bad type as we can't find the server
- my @cards = cardConfigurationAuto();
- if (@cards > 1 && ($noauto || !$card->{server})) {#} && !$::isEmbedded) {
- my (%single_heads, @choices, $tc);
- my $configure_multi_head = sub {
- add2hash($card, $cards[0]); #- assume good default.
- delete $card->{cards} if $noauto;
- $card->{cards} or $card->{cards} = \@cards;
- $card->{force_xf4} = 1; #- force XF4 in such case.
- $card->{Xinerama} = $_[0];
- };
- foreach (@cards) {
- unless ($_->{driver} && !$_->{flags}{unsupported}) {
- log::l("found card \"$_->{identifier}\" not supported by XF4, disabling mutli-head support");
- $configure_multi_head = undef;
- }
- #- if more than one card use the same BusID, we have to use screen.
- if ($single_heads{$_->{busid}}) {
- $single_heads{$_->{busid}}{screen} ||= 0;
- $_->{screen} = $single_heads{$_->{busid}}{screen} + 1;
- }
- $single_heads{$_->{busid}} = $_;
- }
- if ($configure_multi_head) {
- push @choices, { text => _("Configure all heads independently"), code => sub { $configure_multi_head->('') } };
- push @choices, { text => _("Use Xinerama extension"), code => sub { $configure_multi_head->(1) } };
- }
- foreach my $e (values %single_heads) {
- push @choices, { text => _("Configure only card \"%s\" (%s)", $e->{identifier}, $e->{busid}),
- code => sub { add2hash($card, $e); foreach (qw(cards screen Xinerama)) { delete $card->{$_} } } };
- }
- $tc = $in->ask_from_listf(_("Multi-head configuration"),
-_("Your system support multiple head configuration.
-What do you want to do?"), sub { translate($_[0]{text}) }, \@choices) or return; #- no more die, CHECK with auto that return ''!
- $tc->{code} and $tc->{code}();
- } else {
- #- only one head found, configure it as before.
- add2hash($card, $cards[0]) unless $card->{server} || $noauto;
- delete $card->{cards}; delete $card->{Xinerama};
- }
- $card->{server} = 'FBDev' unless !$cardOptions->{allowFB} || $card->{server} || $card->{driver} || $card->{type} || $noauto;
- $card->{type} = cardName2RealName($in->ask_from_treelist(_("Graphic card"), _("Select a graphic card"), '|', ['Other|Unlisted', readCardsNames()])) unless $card->{type} || $card->{server} || $card->{driver};
- undef $card->{type}, $card->{server} = $in->ask_from_list(_("X server"), _("Choose a X server"), $cardOptions->{allowFB} ? \@allservers : \@allbutfbservers ) or return if $card->{type} eq 'Other|Unlisted';
-
- updateCardAccordingName($card, $card->{type}) if $card->{type};
- add2hash($card, { vendor => "Unknown", board => "Unknown" });
-
- foreach ($card, @{$card->{cards} || []}) {
- $_->{memory} = 4096, delete $_->{depth} if $_->{driver} eq 'i810';
- $_->{memory} = 16384, delete $_->{depth} if $_->{chipset} =~ /PERMEDIA/ && $_->{memory} <= 1024;
- }
- #- 3D acceleration configuration for XFree 3.3 using Utah-GLX.
- $card->{Utah_glx} = ($card->{identifier} =~ /Matrox.* G[24]00/ || #- 8bpp does not work.
- $card->{identifier} =~ /Riva.*128/ ||
- $card->{identifier} =~ /Rage X[CL]/ ||
- $card->{identifier} =~ /3D Rage (?:LT|Pro)/);
- #- NOT WORKING $card->{type} =~ /Intel 810/);
- $card->{Utah_glx} = '' if arch() =~ /ppc/; #- No 3D XFree 3.3 for PPC
- #- 3D acceleration configuration for XFree 3.3 using Utah-GLX but EXPERIMENTAL that may freeze the machine (FOR INFO NOT USED).
- $card->{Utah_glx_EXPERIMENTAL} = ($card->{type} =~ /RIVA TNT/ || #- all RIVA/GeForce comes from NVIDIA and may freeze (gltron).
- #$card->{type} =~ /RIVA128/ ||
- $card->{type} =~ /GeForce 256/ ||
- $card->{type} =~ /S3 Savage3D/ || #- only this one is evoluting (expect a stable release ?)
- #- $card->{type} =~ /S3 ViRGE/ || #- 15bits only
- $card->{identifier} =~ /Rage Mobility (?:P\/M|L) / ||
- $card->{type} =~ /SiS/);
- #- 3D acceleration configuration for XFree 4 using DRI.
- $card->{DRI_glx} = ($card->{identifier} =~ /Voodoo [35]/ || $card->{identifier} =~ /Voodoo Banshee/ || #- 16bit only
- $card->{identifier} =~ /Matrox.* G[24][05]0/ || #- prefer 16bit with AGP only
- $card->{identifier} =~ /8281[05].* CGC/ || #- 16bits (Intel 810 & 815).
- $card->{identifier} =~ /Radeon / || #- 16bits preferable ?
- $card->{identifier} =~ /Rage 128/); #- 16 and 32 bits, prefer 16bit as no DMA.
- #- 3D acceleration configuration for XFree 4 using DRI but EXPERIMENTAL that may freeze the machine (FOR INFO NOT USED).
- $card->{DRI_glx_EXPERIMENTAL} = ($card->{identifier} =~ /SiS.*6C?326/ || #- prefer 16bit, other ?
- $card->{identifier} =~ /SiS.*6C?236/ ||
- $card->{identifier} =~ /SiS.*630/);
- #$card->{identifier} =~ /Radeon /); #- 16bits preferable ?
- #- 3D acceleration configuration for XFree 4 using NVIDIA driver (TNT, TN2 and GeForce cards only).
- $card->{NVIDIA_glx} = $cardOptions->{allowNVIDIA_rpms} && ($card->{identifier} =~ /[nN]Vidia.*T[nN]T2/ || #- TNT2 cards
- $card->{identifier} =~ /[nN]Vidia.*NV[56]/ ||
- $card->{identifier} =~ /[nN]Vidia.*Vanta/ ||
- $card->{identifier} =~ /[nN]Vidia.*GeForce/ || #- GeForce cards
- $card->{identifier} =~ /[nN]Vidia.*NV1[15]/ ||
- $card->{identifier} =~ /[nN]Vidia.*Quadro/);
- #- check to use XFree 4 or XFree 3.3.
- $card->{use_xf4} = $card->{driver} && !$card->{flags}{unsupported};
- $card->{force_xf4} ||= arch() =~ /ppc/; #- try to figure out ugly hack for PPC (recommend XF4 always so...)
- $card->{prefer_xf3} = !$card->{force_xf4} && ($card->{type} =~ /NeoMagic /);
- #- take into account current environment in standalone to keep
- #- the XFree86 version.
- if ($::isStandalone) {
- readlink("$prefix/etc/X11/X") =~ /XFree86/ and $card->{prefer_xf3} = 0;
- readlink("$prefix/etc/X11/X") =~ /XF86_/ and $card->{prefer_xf3} = !$card->{force_xf4};
- }
-
- #- basic installation, use of XFree 4.1 or XFree 3.3.
- my ($xf4_ver, $xf3_ver) = ("4.1.0", "3.3.6");
- my $xf3_tc = { text => _("XFree %s", $xf3_ver),
- code => sub { $card->{Utah_glx} = $card->{DRI_glx} = $card->{NVIDIA_glx} = ''; $card->{use_xf4} = '';
- log::l("Using XFree $xf3_ver") } };
- my $msg = _("Which configuration of XFree do you want to have?");
- my @choices = $card->{use_xf4} ? (if_($card->{prefer_xf3}, $xf3_tc),
- #- hack for Matrox driver where there are undefined reference if no DRI!
- if_($card->{identifier} !~ /Matrox.* G[24][05]0/ && (!$card->{prefer_xf3} || $::expert),
- { text => _("XFree %s", $xf4_ver),
- code => sub { $card->{Utah_glx} = $card->{DRI_glx} = $card->{NVIDIA_glx} = '';
- log::l("Using XFree $xf4_ver") } }),
- if_(!$card->{prefer_xf3} && $::expert, $xf3_tc)) : $xf3_tc;
- #- 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}) {
- $msg = ($card->{use_xf4} && !($card->{DRI_glx} || $card->{NVIDIA_glx}) && !$card->{prefer_xf3} ?
-_("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.", $xf3_ver, $xf4_ver) :
-_("Your card can have 3D hardware acceleration support with XFree %s.", $xf3_ver)) . "\n\n\n" . $msg;
- $::expert or @choices = (); #- keep it by default here as it is the only choice available.
- unshift @choices, { text => _("XFree %s with 3D hardware acceleration", $xf3_ver),
- code => sub { $card->{use_xf4} = '';
- log::l("Using XFree $xf3_ver with 3D hardware acceleration") } };
- }
-
- #- an expert user may want to try to use an EXPERIMENTAL 3D acceleration.
- if ($::expert && $card->{use_xf4} && $card->{DRI_glx_EXPERIMENTAL}) {
- $msg =
-_("Your card can have 3D hardware acceleration support with XFree %s,
-NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.", $xf4_ver) . "\n\n\n" . $msg;
- push @choices, { text => _("XFree %s with EXPERIMENTAL 3D hardware acceleration", $xf4_ver),
- code => sub { $card->{DRI_glx} = 'EXPERIMENTAL';
- log::l("Using XFree $xf4_ver with EXPERIMENTAL 3D hardware acceleration") } };
- }
-
- #- 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 ($::expert && $card->{Utah_glx_EXPERIMENTAL}) {
- $msg = ($card->{use_xf4} && !($card->{DRI_glx} || $card->{NVIDIA_glx}) && !$card->{prefer_xf3} ?
-_("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.", $xf3_ver, $xf4_ver) :
-_("Your card can have 3D hardware acceleration support with XFree %s,
-NOTE THIS IS EXPERIMENTAL SUPPORT AND MAY FREEZE YOUR COMPUTER.", $xf3_ver)) . "\n\n\n" . $msg;
- push @choices, { text => _("XFree %s with EXPERIMENTAL 3D hardware acceleration", $xf3_ver),
- code => sub { $card->{use_xf4} = ''; $card->{Utah_glx} = 'EXPERIMENTAL';
- log::l("Using XFree $xf3_ver with EXPERIMENTAL 3D hardware acceleration") } };
- }
-
- #- ask the expert user to enable or not hardware acceleration support.
- if ($card->{use_xf4} && ($card->{DRI_glx} || $card->{NVIDIA_glx})) {
- $msg = _("Your card can have 3D hardware acceleration support with XFree %s.", $xf4_ver) . "\n\n\n" . $msg;
- $::expert or @choices = (); #- keep all user by default with XFree 4 including 3D acceleration.
- unshift @choices, { text => _("XFree %s with 3D hardware acceleration", $xf4_ver),
- code => sub { log::l("Using XFree $xf4_ver with 3D hardware acceleration") } };
- }
- if (arch() =~ /ppc/) {
- #- not much choice for PPC - we only have XF4, and Xpmac from the installer
- @choices = { text => _("XFree %s", $xf4_ver), code => sub { $card->{xpmac} = ''; log::l("Using XFree $xf4_ver") } };
- push @choices, { text => _("Xpmac (installation display driver)"), code => sub { $card->{xpmac} = 1 }} if ($ENV{DISPLAY});
- }
- #- examine choice of user, beware the list MUST NOT BE REORDERED AS the first item should be the
- #- proposed one by DrakX.
- my $tc = $in->ask_from_listf(_("XFree configuration"), formatAlaTeX($msg), sub { translate($_[0]{text}) }, \@choices) or return;
- #- in case of class discarding, this can help ...
- $tc or $tc = $choices[0];
- $tc->{code} and $tc->{code}();
-
- if ($card->{xpmac} eq "1") {
- log::l("Use Xpmac - great...");
- #- define this stuff just so XF86Config isn't empty - we don't need it for Xpmac
- $card->{type} = "Xpmac Frame Buffer Driver";
- $card->{vendor} = $card->{board} = "None";
- $card->{driver} = $card->{server} = "Xpmac";
- }
-
- $card->{prog} = "/usr/X11R6/bin/" . ($card->{use_xf4} ? 'XFree86' : $card->{server} =~ /Sun(.*)/ ?
- "Xsun$1" : "XF86_$card->{server}");
-
- #- additional packages to install according available card.
- #- add XFree86-libs-DRI here if using DRI (future split of XFree86 TODO)
- my @l = ();
- if ($card->{DRI_glx}) {
- push @l, 'Glide_V5' if $card->{identifier} =~ /Voodoo 5/;
- push @l, 'Glide_V3-DRI' if $card->{identifier} =~ /Voodoo (3|Banshee)/;
- push @l, 'XFree86-glide-module' if $card->{identifier} =~ /Voodoo/;
- } elsif ($card->{NVIDIA_glx}) {
- push @l, @{$cardOptions->{allowNVIDIA_rpms}};
- }
- if ($card->{Utah_glx}) {
- push @l, 'Mesa' if !$card->{use_xf4};
- }
- if ($card->{xpmac} eq "1") {
- push @l, 'XFree86-Xpmac';
- $card->{use_xf4} = '';
- $card->{prog} = "/usr/X11R6/bin/Xpmac";
- $card->{server} = 'Xpmac';
- }
-
- -x "$prefix$card->{prog}" or $do_pkgs->install($card->{use_xf4} ? 'XFree86-server' : "XFree86-$card->{server}", @l);
- -x "$prefix$card->{prog}" or die "server $card->{server} is not available (should be in $prefix$card->{prog})";
-
- #- check for Matrox G200 PCI cards, disable AGP in such cases, causes black screen else.
- if ($card->{identifier} =~ /Matrox.* G[24]00/ && $card->{identifier} !~ /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";
- }
- #- make sure everything is correct at this point, packages have really been installed
- #- and driver and GLX extension is present.
- if ($card->{NVIDIA_glx} && !$card->{DRI_glx} && (-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';
- } else {
- $card->{NVIDIA_glx} = '';
- }
-
- delete $card->{depth}{32} if $card->{type} =~ /S3 Trio3D|SiS/;
- $card->{options}{sw_cursor} = 1 if $card->{type} =~ /S3 Trio3D|SiS 6326/;
- unless ($card->{type}) {
- $card->{flags}{noclockprobe} = member($card->{server}, qw(I128 S3 S3V Mach64));
- }
- $card->{options_xf3}{power_saver} = 1;
- $card->{options_xf4}{DPMS} = 1;
-
- $card->{flags}{needVideoRam} and
- $card->{memory} ||= $videomemory{$in->ask_from_list_('', _("Select the memory size of your graphic card"),
- [ sort { $videomemory{$a} <=> $videomemory{$b} }
- keys %videomemory]) || return};
-
- #- hack for ATI Mach64 cards where two options should be used if using Utah-GLX.
- if ($card->{identifier} =~ /Rage X[CL]/ ||
- $card->{identifier} =~ /Rage Mobility (?:P\/M|L) / ||
- $card->{identifier} =~ /3D Rage (?:LT|Pro)/) {
- $card->{options_xf3}{no_font_cache} = $card->{Utah_glx};
- $card->{options_xf3}{no_pixmap_cache} = $card->{Utah_glx};
- }
- #- hack for SiS cards where an option should be used if using Utah-GLX.
- if ($card->{type} =~ /SiS /) {
- $card->{options_xf3}{no_pixmap_cache} = $card->{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->{DRI_glx}) {
- $card->{identifier} =~ /Matrox.* G[24][05]0/ and $card->{flags}{needVideoRam} = 'fakeVideoRam';
- $card->{identifier} =~ /8281[05].* CGC/ and ($card->{flags}{needVideoRam}, $card->{memory}) = ('fakeVideoRam', 16384);
- }
-
- if (!$::isStandalone && $card->{driver} eq 'i810') {
- require modules;
- eval { modules::load("agpgart"); };
- }
- $card;
-}
-
-sub optionsConfiguration($) {
- my ($o) = @_;
- my @l;
- my %l;
-
- foreach (@options) {
- if ($o->{card}{server} eq $_->[1] && $o->{card}{identifier} =~ /$_->[2]/) {
- my $options = 'options_' . ($o->{card}{server} eq 'XFree86' ? 'xf4' : 'xf3');
- $o->{card}{$options}{$_->[0]} ||= 0;
- unless ($l{$_->[0]}) {
- push @l, { label => $_->[0], val => \$o->{card}{$options}{$_->[0]}, type => 'bool' };
- $l{$_->[0]} = 1;
- }
- }
- }
- @l = @l[0..9] if @l > 9; #- reduce list size to 10 for display
-
- $in->ask_from('', _("Choose options for server"), \@l);
-}
-
-sub monitorConfiguration(;$$) {
- my $monitor = shift || {};
- my $useFB = shift || 0;
-
- readMonitorsDB("$ENV{SHARE_PATH}/ldetect-lst/MonitorsDB");
-
- if ($monitor->{EISA_ID}) {
- log::l("EISA_ID: $monitor->{EISA_ID}");
- if (my ($mon) = grep { lc($_->{eisa}) eq $monitor->{EISA_ID} } values %monitors) {
- add2hash($monitor, $mon);
- log::l("EISA_ID corresponds to: $monitor->{type}");
- }
- }
- if ($monitor->{hsyncrange} && $monitor->{vsyncrange}) {
- add2hash($monitor, { type => "monitor1", vendor => "Unknown", model => "Unknown" });
- return $monitor;
- }
-
- my $good_default = (arch() =~ /ppc/ ? 'Apple|' : 'Generic|') . translate($good_default_monitor);
- $monitor->{type} ||=
- ($::auto_install ? $low_default_monitor :
- $in->ask_from_treelist(_("Monitor"), _("Choose a monitor"), '|', ['Custom', keys %monitors], $good_default));
- if ($monitor->{type} eq 'Custom') {
- $in->ask_from('',
-_("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->{hsyncrange}, list => \@hsyncranges, label => _("Horizontal refresh rate") },
- { val => \$monitor->{vsyncrange}, list => \@vsyncranges, label => _("Vertical refresh rate") }]);
- } else {
- add2hash($monitor, $monitors{$monitor->{type}} || $standard_monitors_{$monitor->{type}});
- }
- add2hash($monitor, { type => "Unknown", vendor => "Unknown", model => "Unknown", manual => 1 });
-}
-
-sub testConfig($) {
- my ($o) = @_;
- my ($resolutions, $clocklines);
-
- write_XF86Config($o, $tmpconfig);
-
- unlink "/tmp/.X9-lock";
- #- restart_xfs;
-
- my $f = $tmpconfig . ($o->{card}{use_xf4} && "-4");
- local *F; open F, "$prefix$o->{card}{prog} :9 -probeonly -pn -xf86config $f 2>&1 |";
- local $_;
- while (<F>) {
- $o->{card}{memory} ||= $2 if /(videoram|Video RAM):\s*(\d*)/;
-
- # look for clocks
- push @$clocklines, $1 if /clocks: (.*)/ && !/(pixel |num)clocks:/;
-
- push @$resolutions, [ $1, $2 ] if /: Mode "(\d+)x(\d+)": mode clock/;
- print;
- }
- close F or die "X probeonly failed";
-
- ($resolutions, $clocklines);
-}
-
-sub testFinalConfig {
- my ($o, $auto, $skiptest, $skip_badcard) = @_;
-
- $o->{monitor}{hsyncrange} && $o->{monitor}{vsyncrange} or
- $in->ask_warn('', _("Monitor not configured")), return;
-
- $o->{card}{server} || $o->{card}{driver} or
- $in->ask_warn('', _("Graphic card not configured yet")), return;
-
- $o->{card}{depth} or
- $in->ask_warn('', _("Resolutions not chosen yet")), return;
-
- my $f = "/etc/X11/XF86Config.test";
- write_XF86Config($o, $::testing ? $tmpconfig : "$prefix/$f");
-
- $skiptest || $o->{card}{server} =~ 'FBDev|Sun' and return 1; #- avoid testing with these.
-
- #- needed for bad cards not restoring cleanly framebuffer, according to which version of XFree are used.
- my $bad_card = ($o->{card}{use_xf4} ?
- $o->{card}{identifier} =~ /Matrox/ :
- $o->{card}{identifier} =~ /i740|ViRGE|Rage Mobility (?:P\/M|L) |3D Rage LT/);
- log::l("the graphic card does not like X in framebuffer") if $bad_card;
-
- my $verybad_card = $o->{card}{driver} eq 'i810';
- $verybad_card ||= $o->{card}{driver} eq 'nvidia' && !$::isStandalone; #- avoid testing during install at any price.
- $verybad_card and return 1;
-
- my $mesg = _("Do you want to test the configuration?");
- my $def = 1;
- if ($bad_card && !$::isStandalone) {
- $skip_badcard and return 1;
- $mesg = $mesg . "\n" . _("Warning: testing this graphic card may freeze your computer");
- $def = 0;
- }
- $auto && $def or $in->ask_yesorno(_("Test of the configuration"), $mesg, $def) 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;
- }
- #- restart_xfs;
-
- my $f_err = "$prefix/tmp/Xoutput";
- my $pid;
- unless ($pid = fork) {
- open STDERR, ">$f_err";
- chroot $prefix if $prefix;
- exec $o->{card}{prog},
- if_($o->{card}{prog} !~ /Xsun/, "-xf86config", ($::testing ? $tmpconfig : $f) . ($o->{card}{use_xf4} && "-4")),
- ":9" or c::_exit(0);
- }
-
- do { sleep 1 } until xtest(":9") || waitpid($pid, c::WNOHANG());
-
- my $b = before_leaving { unlink $f_err };
-
- unless (xtest(":9")) {
- local $_;
- local *F; open F, $f_err;
- i: while (<F>) {
- if (/\b(error|not supported)\b/i) {
- my @msg = !/error/ && $_ ;
- while (<F>) {
- /not fatal/ and last i;
- /^$/ and last;
- push @msg, $_;
- }
- $in->ask_warn('', [ _("An error has occurred:"), " ", @msg, _("\ntry to change some parameters") ]);
- return 0;
- }
- }
- }
-
- local *F;
- open F, "|perl 2>/dev/null" or die '';
- print F "use lib qw(", join(' ', @INC), ");\n";
- print F q{
- use interactive_gtk;
- use my_gtk qw(:wrappers);
-
- $ENV{DISPLAY} = ":9";
-
- gtkset_background(200 * 257, 210 * 257, 210 * 257);
- my ($h, $w) = Gtk::Gdk::Window->new_foreign(Gtk::Gdk->ROOT_WINDOW)->get_size;
- $my_gtk::force_position = [ $w / 3, $h / 2.4 ];
- $my_gtk::force_focus = 1;
- my $text = Gtk::Label->new;
- my $time = 8;
- Gtk->timeout_add(1000, sub {
- $text->set(_("Leaving in %d seconds", $time));
- $time-- or Gtk->main_quit;
- 1;
- });
-
- my $background = "/usr/share/pixmaps/backgrounds/linux-mandrake/XFdrake-image-test.jpg";
- my $qiv = "/usr/bin/qiv";
- -r "} . $prefix . q{/$background" && -x "} . $prefix . q{/$qiv" and
- system(($::testing ? "} . $prefix . q{" : "chroot } . $prefix . q{/ ") . "$qiv -y $background");
-
- my $in = interactive_gtk->new;
- $in->exit($in->ask_yesorno('', [ _("Is this the correct setting?"), $text ], 0) ? 0 : 222);
- };
- my $rc = close F;
- my $err = $?;
-
- unlink "/tmp/.X11-unix/X9" if $prefix;
- kill 2, $pid;
-
- $rc || $err == 222 << 8 or $in->ask_warn('', _("An error has occurred, try to change some parameters"));
- $rc;
-}
-
-sub autoDefaultDepth($$) {
- my ($card, $wres_wanted) = @_;
- my ($best, $depth);
-
- return 16 if $card->{Utah_glx} || $card->{DRI_glx}; #- assume 16bit as most of them need 16.
-
- for ($card->{server}) {
- /FBDev/ and return 16; #- this should work by default, FBDev is allowed only if install currently uses it at 16bpp.
- /Sun24/ and return 24;
- /SunMono/ and return 2;
- /Sun/ and return 8;
- }
-
- while (my ($d, $r) = each %{$card->{depth}}) {
- $depth = max($depth || 0, $d);
-
- #- try to have resolution_wanted
- $best = max($best || 0, $d) if $r->[0][0] >= $wres_wanted;
- $best = $card->{suggest_depth}, last if ($card->{suggest_depth} &&
- $card->{suggest_wres} && $r->[0][0] >= $card->{suggest_wres});
- }
- $best || $depth or die "no valid modes";
-}
-
-sub autoDefaultResolution {
- # return "1024x768" if detect_devices::hasPCMCIA;
-
- if (arch() =~ /ppc/) {
- return "1024x768" if detect_devices::get_mac_model =~ /^PowerBook|^iMac/;
- }
-
- my ($size) = @_;
- $monitorSize2resolution[round($size || 14)] || #- assume a small monitor (size is in inch)
- $monitorSize2resolution[-1]; #- no corresponding resolution for this size. It means a big monitor, take biggest we have
-}
-
-sub chooseResolutionsGtk($$;$) {
- my ($card, $chosen_depth, $chosen_w) = @_;
-
- require my_gtk;
- my_gtk->import(qw(:wrappers));
-
- my $W = my_gtk->new(_("Resolution"));
- my %txt2depth = reverse %depths;
- my ($r, $depth_combo, %w2depth, %w2h, %w2widget, $pix_monitor, $pix_colors, $w2_combo);
- $w2_combo = new Gtk::Combo;
- my $best_w;
- while (my ($depth, $res) = each %{$card->{depth}}) {
- foreach (@$res) {
- $w2h{$_->[0]} = $_->[1];
- push @{$w2depth{$_->[0]}}, $depth;
-
- $best_w = max($_->[0], $best_w) if $_->[0] <= $chosen_w;
- }
- }
- $chosen_w = $best_w;
-
- my $set_depth = sub { $depth_combo->entry->set_text(translate($depths{$chosen_depth})) };
-
- #- the set function is usefull to toggle the CheckButton with the callback being ignored
- my $ignore;
- my $no_human; # is the w2_combo->entry changed by a human?
- my $set = sub { $ignore = 1; $_[0]->set_active(1); $ignore = 0; };
-
- my %monitor;
- $monitor{$_} = [ gtkcreate_png("monitor-" . $_ . ".png") ] foreach (640, 800, 1024, 1280);
- $monitor{1152} = [ gtkcreate_png("monitor-" . 1024 . ".png") ];
- $monitor{1600} = [ gtkcreate_png("monitor-" . 1280 . ".png") ];
-
- my $pixmap_m = new Gtk::Pixmap( $monitor{$chosen_w}[0] , $monitor{$chosen_w}[1] );
-
- while (my ($w, $h) = each %w2h) {
- my $V = $w . "x" . $h;
- $w2widget{$w} = $r = new Gtk::RadioButton($r ? ($V, $r) : $V);
- if ($chosen_w == $w) {
- &$set($r);
- }
- $r->signal_connect("clicked" => sub {
- $ignore and return;
- $chosen_w = $w;
- $no_human=1;
- $w2_combo->entry->set_text($w . "x" . $w2h{$w});
- unless (member($chosen_depth, @{$w2depth{$w}})) {
- $chosen_depth = max(@{$w2depth{$w}});
- &$set_depth();
- }
- });
- }
- gtkadd($W->{window},
- gtkpack_($W->create_box_with_title(_("Choose the resolution and the color depth"),
- "(" . ($card->{type} ?
- _("Graphic card: %s", $card->{type}) :
- _("XFree86 server: %s", $card->{server})) . ")"
- ),
- 1, gtkpack2(new Gtk::VBox(0,0),
- gtkpack2__(new Gtk::VBox(0, $::isEmbedded ? 15 : 0),
- if_($::isEmbedded, $pixmap_m),
- if_(!$::isEmbedded, map {$w2widget{$_} } ikeys(%w2widget)),
- gtkpack2(new Gtk::HBox(0,0),
- create_packtable({ col_spacings => 5, row_spacings => 5},
- [ if_($::isEmbedded,$w2_combo) , new Gtk::Label("")],
- [ $depth_combo = new Gtk::Combo, gtkadd(gtkset_shadow_type(new Gtk::Frame, 'etched_out'), $pix_colors = gtkpng ("colors")) ],
- ),
- ),
- ),
- ),
- 0, gtkadd($W->create_okcancel,
- $::isEmbedded ?
- gtksignal_connect(new Gtk::Button(_("Expert Mode")), clicked => sub { system ("XFdrake --expert"); }) :
- gtksignal_connect(new Gtk::Button(_("Show all")), clicked => sub { $W->{retval} = 1; $chosen_w = 0; Gtk->main_quit })),
- ));
- $depth_combo->disable_activate;
- $depth_combo->set_use_arrows_always(1);
- $depth_combo->entry->set_editable(0);
- $depth_combo->set_popdown_strings(map { translate($depths{$_}) } ikeys(%{$card->{depth}}));
- $depth_combo->entry->signal_connect(changed => sub {
- $chosen_depth = $txt2depth{untranslate($depth_combo->entry->get_text, keys %txt2depth)};
- my $w = $card->{depth}{$chosen_depth}[0][0];
- $chosen_w > $w and &$set($w2widget{$chosen_w = $w});
- $pix_colors->set(gtkcreate_png(
- $chosen_depth >= 24 ? "colors.png" :
- $chosen_depth >= 15 ? "colors16.png" :
- "colors8.png"));
- });
- if ($::isEmbedded) {
- $w2_combo->disable_activate;
- $w2_combo->set_use_arrows_always(1);
- $w2_combo->entry->set_editable(0);
- $w2_combo->set_popdown_strings(map { $_ . "x" . $w2h{$_} } keys %w2h);
- $w2_combo->entry->signal_connect(changed => sub {
- ($chosen_w) = $w2_combo->entry->get_text =~ /([^x]*)x.*/;
- $no_human ? $no_human=0 : $w2widget{$chosen_w}->set_active(1);
- $pixmap_m->set($monitor{$chosen_w}[0], $monitor{$chosen_w}[1]);
- });
- }
- &$set_depth();
- $W->{ok}->grab_focus;
-
- if ($::isEmbedded) {
- $no_human=1;
- $w2_combo->entry->set_text($chosen_w . "x" . $w2h{$chosen_w});
- }
- $W->main or return;
- ($chosen_depth, $chosen_w);
-}
-
-sub chooseResolutions($$;$) {
- goto &chooseResolutionsGtk if $in->isa('interactive_gtk');
-
- my ($card, $chosen_depth, $chosen_w) = @_;
-
- my $best_w;
- local $_ = $in->ask_from_list(_("Resolutions"), "",
- [ map_each { map { "$_->[0]x$_->[1] ${main::a}bpp" } @$::b } %{$card->{depth}} ]) or return;
- reverse /(\d+)x\S+ (\d+)/;
-}
-
-
-sub resolutionsConfiguration {
- my ($o, $auto) = @_;
- my $card = $o->{card};
-
- #- For the mono and vga16 server, no further configuration is required.
- if (member($card->{server}, "Mono", "VGA16")) {
- $card->{depth}{8} = [[ 640, 480 ]];
- return;
- } elsif ($card->{server} =~ /Sun/) {
- $card->{depth}{2} = [[ 1152, 864 ]] if $card->{server} =~ /^(SunMono)$/;
- $card->{depth}{8} = [[ 1152, 864 ]] if $card->{server} =~ /^(SunMono|Sun)$/;
- $card->{depth}{24} = [[ 1152, 864 ]] if $card->{server} =~ /^(SunMono|Sun|Sun24)$/;
- $card->{default_wres} = 1152;
- $o->{default_depth} = max(keys %{$card->{depth}});
- return 1; #- aka we cannot test, assumed as good (should be).
- }
- if (is_empty_hash_ref($card->{depth})) {
- $card->{depth}{$_} = [ map { [ split "x" ] } @resolutions ]
- foreach @depths;
- }
- #- sort resolutions in each depth
- foreach (values %{$card->{depth}}) {
- my $i = 0;
- @$_ = grep { first($i != $_->[0], $i = $_->[0]) }
- sort { $b->[0] <=> $a->[0] } @$_;
- }
-
- #- remove unusable resolutions (based on the video memory size and the monitor hsync rate)
- keepOnlyLegalModes($card, $o->{monitor});
-
- my $res = $o->{resolution_wanted} || $card->{suggest_wres} || autoDefaultResolution($o->{monitor}{size});
- my $wres = first(split 'x', $res);
-
- #- take the first available resolution <= the wanted resolution
- $wres = max map { first(grep { $_->[0] <= $wres } @$_)->[0] } values %{$card->{depth}};
- my $depth = eval { $o->{default_depth} || autoDefaultDepth($card, $wres) };
-
- $auto or ($depth, $wres) = chooseResolutions($card, $depth, $wres) or return;
-
- #- if nothing has been found for wres,
- #- try to find if memory used by mode found match the memory available
- #- card, if this is the case for a relatively low resolution ( < 1024 ),
- #- there could be a problem.
- #- memory in KB is approximated by $wres*$dpeth/14 which is little less
- #- than memory really used, (correct factor is 13.65333 for w/h ratio of 1.33333).
- if (!$wres || $auto && ref($in) !~ /class_discard/ && ($wres < 1024 && ($card->{memory} / ($wres * $depth / 14)) > 2)) {
- delete $card->{depth};
- return resolutionsConfiguration($o);
- }
-
- #- needed in auto mode when all has been provided by the user
- $card->{depth}{$depth} or die "you selected an unusable depth";
-
- #- remove all biggest resolution (keep the small ones for ctl-alt-+)
- #- otherwise there'll be a virtual screen :(
- $_ = [ grep { $_->[0] <= $wres } @$_ ] foreach values %{$card->{depth}};
- $card->{default_wres} = $wres;
- $card->{vga_mode} = $vgamodes{"${wres}xx$depth"} || $vgamodes{"${res}x$depth"}; #- for use with frame buffer.
- $o->{default_depth} = $depth;
- 1;
-}
-
-
-#- Create the XF86Config file.
-sub write_XF86Config {
- my ($o, $file) = @_;
- my $O;
-
- local (*F, *G);
- open F, ">$file" or die "can't write XF86Config in $file: $!";
- open G, ">$file-4" or die "can't write XF86Config in $file-4: $!";
-
- print F $XF86firstchunk_text;
- print G $XF86firstchunk_text;
-
- #- Write keyboard section.
- $O = $o->{keyboard};
- print F $keyboardsection_start;
- print G $keyboardsection_start_v4;
- print F qq( XkbDisable\n) unless $O->{xkb_keymap};
- print G qq( Option "XkbDisable"\n) unless $O->{xkb_keymap};
- print F $keyboardsection_part3;
- print G $keyboardsection_part3_v4;
-
- $O->{xkb_model} ||=
- arch() =~ /ppc/ ? 'macintosh' :
- arch() =~ /sparc/ ? 'sun' :
- $O->{xkb_keymap} eq 'br' ? 'abnt2' : 'pc105';
- print F qq( XkbModel "$O->{xkb_model}"\n);
- print G qq( Option "XkbModel" "$O->{xkb_model}"\n);
-
- print F qq( XkbLayout "$O->{xkb_keymap}"\n);
- print G qq( Option "XkbLayout" "$O->{xkb_keymap}"\n);
- print F join '', map { " $_\n" } @{$xkb_options{$O->{xkb_keymap}} || []};
- print G join '', map { /(\S+)(.*)/; qq( Option "$1" $2\n) } @{$xkb_options{$O->{xkb_keymap}} || []};
- print F $keyboardsection_end;
- print G $keyboardsection_end;
-
- #- Write pointer section.
- my $pointer = sub {
- my ($O, $id) = @_;
- print F $id > 1 ? qq(Section "XInput"\n) : qq(Section "Pointer"\n);
- $id > 1 and print F qq( SubSection "Mouse"\n);
- print G qq(Section "InputDevice"\n\n);
- $id > 1 and print F qq( DeviceName "Mouse$id"\n);
- print G qq( Identifier "Mouse$id"\n);
- print G qq( Driver "mouse"\n);
- print F ($id > 1 && " ") . qq( Protocol "$O->{XMOUSETYPE}"\n);
- print G qq( Option "Protocol" "$O->{XMOUSETYPE}"\n);
- print F ($id > 1 && " ") . qq( Device "/dev/$O->{device}"\n);
- print G qq( Option "Device" "/dev/$O->{device}"\n);
- print F " AlwaysCore\n" if $id > 1;
- #- this will enable the "wheel" or "knob" functionality if the mouse supports it
- print F ($id > 1 && " ") . " ZAxisMapping 4 5\n" if $O->{nbuttons} > 3;
- print F ($id > 1 && " ") . " ZAxisMapping 6 7\n" if $O->{nbuttons} > 5;
- print G qq( Option "ZAxisMapping" "4 5"\n) if $O->{nbuttons} > 3;
- print G qq( Option "ZAxisMapping" "6 7"\n) if $O->{nbuttons} > 5;
-
- print F "#" unless $O->{nbuttons} < 3;
- print G "#" unless $O->{nbuttons} < 3;
- print F ($id > 1 && " ") . qq( Emulate3Buttons\n);
- print G qq( Option "Emulate3Buttons"\n);
- print F "#" unless $O->{nbuttons} < 3;
- print G "#" unless $O->{nbuttons} < 3;
- print F ($id > 1 && " ") . qq( Emulate3Timeout 50\n\n);
- print G qq( Option "Emulate3Timeout" "50"\n\n);
- print F "# ChordMiddle is an option for some 3-button Logitech mice\n\n";
- print G "# ChordMiddle is an option for some 3-button Logitech mice\n\n";
- print F "#" unless $O->{chordmiddle};
- print G "#" unless $O->{chordmiddle};
- print F ($id > 1 && " ") . qq( ChordMiddle\n\n);
- print G qq( Option "ChordMiddle"\n\n);
- print F ($id > 1 && " ") . " ClearDTR\n" if $O->{cleardtrrts};
- print F ($id > 1 && " ") . " ClearRTS\n\n" if $O->{cleardtrrts};
- $id > 1 and print F qq( EndSubSection\n);
- print F "EndSection\n\n\n";
- print G "EndSection\n\n\n";
- };
- print F $pointersection_text;
- print G $pointersection_text;
- $pointer->($o->{mouse}, 1);
- $o->{mouse}{auxmouse} and $pointer->($o->{mouse}{auxmouse}, 2);
-
- #- write module section for version 3.
- if (@{$o->{wacom}} || $o->{card}{Utah_glx}) {
- print F qq(Section "Module"
-);
- print F qq( Load "xf86Wacom.so"\n) if @{$o->{wacom}};
- print F qq( Load "glx-3.so"\n) if $o->{card}{Utah_glx}; #- glx.so may clash with server version 4.
- print F qq(EndSection
-
-);
- }
-
- #- write wacom device support.
- foreach (1 .. @{$o->{wacom}}) {
- my $dev = "/dev/" . $o->{wacom}[$_-1];
- print F $dev =~ /input\/event/ ? qq(
-Section "XInput"
- SubSection "WacomStylus"
- Port "$dev"
- DeviceName "Stylus$_"
- USB
- AlwaysCore
- Mode Absolute
- EndSubSection
- SubSection "WacomCursor"
- Port "$dev"
- DeviceName "Cursor$_"
- USB
- AlwaysCore
- Mode Relative
- EndSubSection
- SubSection "WacomEraser"
- Port "$dev"
- DeviceName "Eraser$_"
- USB
- AlwaysCore
- Mode Absolute
- EndSubSection
-EndSection
-
-) : qq(
-Section "XInput"
- SubSection "WacomStylus"
- Port "$dev"
- DeviceName "Stylus$_"
- AlwaysCore
- Mode Absolute
- EndSubSection
- SubSection "WacomCursor"
- Port "$dev"
- DeviceName "Sursor$_"
- AlwaysCore
- Mode Relative
- EndSubSection
- SubSection "WacomEraser"
- Port "$dev"
- DeviceName "Eraser$_"
- AlwaysCore
- Mode Absolute
- EndSubSection
-EndSection
-
-);
- }
-
- foreach (1..@{$o->{wacom}}) {
- my $dev = "/dev/" . $o->{wacom}[$_-1];
- print G $dev =~ /input\/event/ ? qq(
-Section "InputDevice"
- Identifier "Stylus$_"
- Driver "wacom"
- Option "Type" "stylus"
- Option "Device" "$dev"
- Option "Mode" "Absolute"
- Option "USB" "on"
-EndSection
-Section "InputDevice"
- Identifier "Eraser$_"
- Driver "wacom"
- Option "Type" "eraser"
- Option "Device" "$dev"
- Option "Mode" "Absolute"
- Option "USB" "on"
-EndSection
-Section "InputDevice"
- Identifier "Cursor$_"
- Driver "wacom"
- Option "Type" "cursor"
- Option "Device" "$dev"
- Option "Mode" "Relative"
- Option "USB" "on"
-EndSection
-) : qq(
-Section "InputDevice"
- Identifier "Stylus$_"
- Driver "wacom"
- Option "Type" "stylus"
- Option "Device" "$dev"
- Option "Mode" "Absolute"
-EndSection
-Section "InputDevice"
- Identifier "Eraser$_"
- Driver "wacom"
- Option "Type" "eraser"
- Option "Device" "$dev"
- Option "Mode" "Absolute"
-EndSection
-Section "InputDevice"
- Identifier "Cursor$_"
- Driver "wacom"
- Option "Type" "cursor"
- Option "Device" "$dev"
- Option "Mode" "Relative"
-EndSection
-);
- }
-
- #- write modules section for version 4.
- print G qq(
-Section "Module"
-
-# This loads the DBE extension module.
-
- Load "dbe"
-);
- if ($o->{card}{DRI_glx}) {
- print G qq(
- Load "glx"
- Load "dri"
-);
- } elsif ($o->{card}{NVIDIA_glx}) {
- print G qq(
-# 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.
-
- Load "/usr/X11R6/lib/modules/extensions/libglx.so"
-);
- }
- print G qq(
-
-# This loads the miscellaneous extensions module, and disables
-# initialisation of the XFree86-DGA extension within that module.
-
- SubSection "extmod"
- #Option "omit xfree86-dga"
- EndSubSection
-
-# This loads the Type1 and FreeType font modules
-
- Load "type1"
- Load "freetype"
-EndSection
-);
- print G qq(
-
-Section "DRI"
- Mode 0666
-EndSection
-
-) if $o->{card}{DRI_glx};
-
- #- Write monitor section.
- $O = $o->{monitor};
- print F $monitorsection_text1;
- print G $monitorsection_text1;
- print F qq( Identifier "$O->{type}"\n);
- print G qq( Identifier "$O->{type}"\n);
- print G qq( UseModes "Mac Modes"\n) if arch() =~ /ppc/;
- print F qq( VendorName "$O->{vendor}"\n);
- print G qq( VendorName "$O->{vendor}"\n);
- print F qq( ModelName "$O->{model}"\n\n);
- print G qq( ModelName "$O->{model}"\n\n);
- print F $monitorsection_text2;
- print G $monitorsection_text2;
- print F qq( HorizSync $O->{hsyncrange}\n\n);
- print G qq( HorizSync $O->{hsyncrange}\n\n);
- print F $monitorsection_text3;
- print G $monitorsection_text3;
- print F qq( VertRefresh $O->{vsyncrange}\n\n);
- print G qq( VertRefresh $O->{vsyncrange}\n\n);
- print F $monitorsection_text4;
- print F ($O->{modelines} || '') . ($o->{card}{type} eq "TG 96" ?
- $modelines_text_Trident_TG_96xx : "$modelines_text$modelines_text_ext");
- print G $modelines_text_ext;
- print F "\nEndSection\n\n\n";
- print G "\nEndSection\n\n\n";
- print G $modelines_text_apple if arch() =~ /ppc/;
- foreach (2..@{$o->{card}{cards} || []}) {
- print G qq(Section "Monitor"\n);
- print G qq( Identifier "monitor$_"\n);
- print G qq( VendorName "$O->{vendor}"\n);
- print G qq( ModelName "$O->{model}"\n\n);
- print G qq( HorizSync $O->{hsyncrange}\n);
- print G qq( VertRefresh $O->{vsyncrange}\n);
- print G qq(EndSection\n\n\n);
- }
-
- #- Write Device section.
- $O = $o->{card};
- print F $devicesection_text;
- print G $devicesection_text_v4;
- print F qq(Section "Device"\n);
- print F qq( Identifier "$O->{type}"\n);
- print F qq( VendorName "$O->{vendor}"\n);
- print F qq( BoardName "$O->{board}"\n);
-
- print F "#" if $O->{chipset} && !$O->{flags}{needChipset};
- print F qq( Chipset "$O->{chipset}"\n) if $O->{chipset};
-
- print F "#" if $O->{memory} && !$O->{flags}{needVideoRam};
- print F " VideoRam $O->{memory}\n" if $O->{memory};
-
- print F map { " $_\n" } @{$O->{lines} || []};
-
- print F qq( Ramdac "$O->{ramdac}"\n) if $O->{ramdac};
- print F qq( Dacspeed "$O->{dacspeed}"\n) if $O->{dacspeed};
-
- if ($O->{clockchip}) {
- print F qq( Clockchip "$O->{clockchip}"\n);
- } else {
- print F " # Clock lines\n";
- print F " Clocks $_\n" foreach (@{$O->{clocklines}});
- }
- print F qq(
-
- # Uncomment following option if you see a big white block
- # instead of the cursor!
- # Option "sw_cursor"
-
-);
- my $p = sub {
- my $l = $O->{$_[0]};
- map { (!$l->{$_} && '#') . qq( Option "$_"\n) } keys %{$l || {}};
- };
- print F $p->('options');
- print F $p->('options_xf3');
- print F "EndSection\n\n\n";
-
- #- configure all drivers here!
- foreach (@{$O->{cards} || [ $O ]}) {
- print G qq(Section "Device"\n);
- print G qq( Identifier "$_->{type}"\n);
- print G qq( VendorName "$_->{vendor}"\n);
- print G qq( BoardName "$_->{board}"\n);
- print G qq( Driver "$_->{driver}"\n);
- print G "#" if $_->{memory} && !$_->{flags}{needVideoRam};
- print G " VideoRam $_->{memory}\n" if $_->{memory};
- print G map { " $_\n" } @{$_->{lines} || []};
- print G qq( Ramdac "$_->{ramdac}"\n) if $_->{ramdac};
- print G qq( Dacspeed "$_->{dacspeed}"\n) if $_->{dacspeed};
- if ($_->{clockchip}) {
- print G qq( Clockchip "$_->{clockchip}"\n);
- } else {
- print G " # Clock lines\n";
- print G " Clocks $_\n" foreach (@{$_->{clocklines}});
- }
- print G qq(
-
- # Uncomment following option if you see a big white block
- # instead of the cursor!
- # Option "sw_cursor"
-
-);
- print G $p->('options'); #- keep $O for these!
- print G $p->('options_xf4'); #- keep $O for these!
- print G qq( Screen $_->{screen}\n) if defined $_->{screen};
- print G qq( BusID "$_->{busid}"\n) if $_->{busid};
- print G "EndSection\n\n\n";
- }
-
- #- Write Screen sections.
- print F $screensection_text1, "\n";
- print G $screensection_text1, "\n";
-
- my $subscreen = sub {
- my ($f, $server, $defdepth, $depths) = @_;
- print $f " DefaultColorDepth $defdepth\n" if $defdepth;
-
- foreach (ikeys(%$depths)) {
- my $m = $server ne "fbdev" ? join(" ", map { qq("$_->[0]x$_->[1]") } @{$depths->{$_}}) : qq("default"); #-"
- print $f qq( Subsection "Display"\n);
- print $f qq( Depth $_\n) if $_;
- print $f qq( Modes $m\n);
- print $f qq( ViewPort 0 0\n);
- print $f qq( EndSubsection\n);
- }
- print $f "EndSection\n";
- };
-
- my $screen = sub {
- my ($server, $defdepth, $device, $depths) = @_;
- print F qq(
-Section "Screen"
- Driver "$server"
- Device "$device"
- Monitor "$o->{monitor}{type}"
-); #-"
- $subscreen->(*F, $server, $defdepth, $depths);
- };
-
- #- SVGA screen section.
- print F qq(
-# The Colour SVGA server
-);
-
- if (member($O->{server}, @svgaservers)) {
- &$screen("svga", $o->{default_depth}, $O->{type}, $O->{depth});
- } else {
- &$screen("svga", '', "Generic VGA", { 8 => [[ 320, 200 ]] });
- }
-
- &$screen("vga16", '',
- (member($O->{server}, "Mono", "VGA16") ? $O->{type} : "Generic VGA"),
- { '' => [[ 640, 480 ], [ 800, 600 ]]});
-
- &$screen("vga2", '',
- (member($O->{server}, "Mono", "VGA16") ? $O->{type} : "Generic VGA"),
- { '' => [[ 640, 480 ], [ 800, 600 ]]});
-
- &$screen("accel", $o->{default_depth}, $O->{type}, $O->{depth});
-
- &$screen("fbdev", $o->{default_depth}, $O->{type}, $O->{depth});
-
- print G qq(
-Section "Screen"
- Identifier "screen1"
- Device "$O->{type}"
- Monitor "$o->{monitor}{type}"
-);
- #- bpp 32 not handled by XF4
- $subscreen->(*G, "svga", min($o->{default_depth}, 24), $O->{depth});
- foreach (2..@{$O->{cards} || []}) {
- my $device = $O->{cards}[$_ - 1]{type};
- print G qq(
-Section "Screen"
- Identifier "screen$_"
- Device "$device"
- Monitor "monitor$_"
-);
- #- bpp 32 not handled by XF4
- $subscreen->(*G, "svga", min($o->{default_depth}, 24), $O->{depth});
- }
-
- print G qq(
-
-Section "ServerLayout"
- Identifier "layout1"
- Screen "screen1"
-);
- foreach (2..@{$O->{cards} || []}) {
- my ($curr, $prev) = ($_, $_ - 1);
- print G qq( Screen "screen$curr" RightOf "screen$prev"\n);
- }
- print G '#' if defined $O->{Xinerama} && !$O->{Xinerama};
- print G qq( Option "Xinerama" "on"\n) if defined $O->{Xinerama};
-
- print G '
- InputDevice "Mouse1" "CorePointer"
-';
- $o->{mouse}{auxmouse} and print G '
- InputDevice "Mouse2" "SendCoreEvents"
-';
- foreach (1..@{$o->{wacom}}) {
- print G qq(
- InputDevice "Stylus$_" "AlwaysCore"
- InputDevice "Eraser$_" "AlwaysCore"
- InputDevice "Cursor$_" "AlwaysCore"
-);
- }
- print G '
- InputDevice "Keyboard1" "CoreKeyboard"
-EndSection
-'; #-"
-
- close F;
- close G;
-}
-
-sub XF86check_link {
- my ($ext) = @_;
-
- my $f = "$prefix/etc/X11/XF86Config$ext";
- touch($f);
-
- my $l = "$prefix/usr/X11R6/lib/X11/XF86Config$ext";
-
- if (-e $l && (stat($f))[1] != (stat($l))[1]) { #- compare the inode, must be the sames
- -e $l and unlink($l) || die "can't remove bad $l";
- symlinkf "../../../../etc/X11/XF86Config$ext", $l;
- }
-}
-
-sub info {
- my ($o) = @_;
- my $info;
-
- $info .= _("Keyboard layout: %s\n", $o->{keyboard}{xkb_keymap});
- $info .= _("Mouse type: %s\n", $o->{mouse}{XMOUSETYPE});
- $info .= _("Mouse device: %s\n", $o->{mouse}{device}) if $::expert;
- $info .= _("Monitor: %s\n", $o->{monitor}{type});
- $info .= _("Monitor HorizSync: %s\n", $o->{monitor}{hsyncrange}) if $::expert;
- $info .= _("Monitor VertRefresh: %s\n", $o->{monitor}{vsyncrange}) if $::expert;
- $info .= _("Graphic card: %s\n", $o->{card}{type});
- $info .= _("Graphic memory: %s kB\n", $o->{card}{memory}) if $o->{card}{memory};
- if ($o->{default_depth} and my $depth = $o->{card}{depth}{$o->{default_depth}}) {
- $info .= _("Color depth: %s\n", translate($depths{$o->{default_depth}}));
- $info .= _("Resolution: %s\n", join "x", @{$depth->[0]}) if $depth && !is_empty_array_ref($depth->[0]);
- }
- $info .= _("XFree86 server: %s\n", $o->{card}{server}) if $o->{card}{server};
- $info .= _("XFree86 driver: %s\n", $o->{card}{driver}) if $o->{card}{driver};
- $info;
-}
-
-sub show_info {
- my ($o) = @_;
- $in->ask_warn('', info($o));
-}
-
-#- Program entry point.
-sub main {
- ($prefix, my $o, $in, $do_pkgs, my $cardOptions) = @_;
- $o ||= {};
-
- XF86check_link('');
- XF86check_link('-4');
-
- {
- my $w = $in->wait_message('', _("Preparing X-Window configuration"), 1);
-
- $o->{card} = cardConfiguration($o->{card}, $::noauto, $cardOptions);
-
- $o->{monitor} = monitorConfiguration($o->{monitor}, $o->{card}{server} eq 'FBDev');
- }
- my $ok = resolutionsConfiguration($o, $::auto);
-
- $ok &&= testFinalConfig($o, $::auto, $o->{skiptest}, $::auto);
-
- my $quit;
- until ($ok || $quit) {
- ref($in) =~ /discard/ and die "automatic X configuration failed, ensure you give hsyncrange and vsyncrange with non-DDC aware videocards/monitors";
-
- $in->set_help('configureXmain') unless $::isStandalone;
-
- my $f;
- $in->ask_from_(
- {
- title => 'XFdrake',
- messages => _("What do you want to do?"),
- cancel => '',
- }, [
- { format => sub { $_[0][0] }, val => \$f,
- list => [
- [ _("Change Monitor") => sub { $o->{monitor} = monitorConfiguration() } ],
- [ _("Change Graphic card") => sub { $o->{card} = cardConfiguration('', 'noauto', $cardOptions) } ],
- if_($::expert,
- [ _("Change Server options") => sub { optionsConfiguration($o) } ]),
- [ _("Change Resolution") => sub { resolutionsConfiguration($o) } ],
- [ _("Show information") => sub { show_info($o) } ],
- [ _("Test again") => sub { $ok = testFinalConfig($o, 1) } ],
- [ _("Quit") => sub { $quit = 1 } ],
- ],
- }
- ]);
- $f->[1]->();
- $in->kill;
- }
- if (!$ok) {
- $ok = $in->ask_yesorno('', _("Keep the changes?
-Current configuration is:
-
-%s", info($o)));
- }
- if ($ok) {
- unless ($::testing) {
- my $f = "$prefix/etc/X11/XF86Config";
- if (-e "$f.test") {
- rename $f, "$f.old" or die "unable to make a backup of XF86Config";
- rename "$f-4", "$f-4.old";
- rename "$f.test", $f;
- rename "$f.test-4", "$f-4";
- if ($o->{card}{server} !~ /Xpmac/) {
- symlinkf "../..$o->{card}{prog}", "$prefix/etc/X11/X";
- }
- }
- }
-
- if ($::isStandalone && $0 =~ /Xdrakres/) {
- my $found;
- foreach (@window_managers) {
- if (`pidof "$_"` > 0) {
- if ($in->ask_okcancel('', _("Please relog into %s to activate the changes", ucfirst $_), 1)) {
- fork and $in->exit;
- system("kwmcom logout") if /kwm/;
- system("dcop kdesktop default logout") if /kwin/;
- system("save-session --kill") if /gnome-session/;
- system("killall -QUIT icewm") if /icewm/;
-
- open STDIN, "</dev/zero";
- open STDOUT, ">/dev/null";
- open STDERR, ">&STDERR";
- c::setsid();
- exec qw(perl -e), q{
- my $wm = shift;
- for (my $nb = 30; $nb && `pidof "$wm"` > 0; $nb--) { sleep 1 }
- system("killall X ; killall -15 xdm gdm kdm prefdm") unless `pidof "$wm"` > 0;
- }, $_;
- }
- $found = 1; last;
- }
- }
- $in->ask_warn('', _("Please log out and then use Ctrl-Alt-BackSpace")) unless $found;
- } else {
- $in->set_help('configureXxdm') unless $::isStandalone;
- my $run = exists $o->{xdm} ? $o->{xdm} : $::auto || $in->ask_yesorno(_("X at startup"),
-_("I can set up your computer to automatically start X upon booting.
-Would you like X to start when you reboot?"), 1);
- any::runlevel($prefix, $run ? 5 : 3) unless $::testing;
- }
- }
-}
-
-1;
diff --git a/perl-install/Xconfigurator_consts.pm b/perl-install/Xconfigurator_consts.pm
deleted file mode 100644
index 70c66da28..000000000
--- a/perl-install/Xconfigurator_consts.pm
+++ /dev/null
@@ -1,858 +0,0 @@
-package Xconfigurator; # $Id$
-
-use common;
-
-%depths = (
- 8 => __("256 colors (8 bits)"),
- 15 => __("32 thousand colors (15 bits)"),
- 16 => __("65 thousand colors (16 bits)"),
- 24 => __("16 million colors (24 bits)"),
- 32 => __("4 billion colors (32 bits)"),
-);
-@depths = ikeys(%depths);
-
-@resolutions = qw(640x480 800x600 1024x768 1152x864 1280x1024 1400x1050 1600x1200 1920x1440 2048x1536);
-
-@window_managers = ('kdeinit: kwin', qw(gnome-session icewm wmaker kwm afterstep fvwm fvwm2 fvwm95 mwm twm enlightenment xfce blackbox sawfish));
-
-%serversdriver = arch() =~ /^sparc/ ? (
- 'Mach64' => "accel",
- '3DLabs' => "accel",
- 'Sun' => "fbdev",
- 'Sun24' => "fbdev",
- 'SunMono' => "fbdev",
- 'VGA16' => "vga16",
- 'FBDev' => "fbdev",
-) : (
- 'SVGA' => "svga",
-#- 'Rage128' => "svga",
-#- '3dfx' => "svga",
- 'S3' => "accel",
- 'Mach32' => "accel",
- 'Mach8' => "accel",
- '8514' => "accel",
- 'P9000' => "accel",
- 'AGX' => "accel",
- 'W32' => "accel",
- 'Mach64' => "accel",
- 'I128' => "accel",
- 'S3V' => "accel",
- '3DLabs' => "accel",
- 'Mono' => "vga2",
- 'VGA16' => "vga16",
- 'FBDev' => "fbdev",
-);
-@svgaservers = grep { $serversdriver{$_} eq "svga" } keys(%serversdriver);
-@accelservers = grep { $serversdriver{$_} eq "accel" } keys(%serversdriver);
-@allbutfbservers = grep { arch() =~ /^sparc/ || $serversdriver{$_} ne "fbdev" } keys(%serversdriver);
-@allservers = keys(%serversdriver);
-
-%vgamodes = (
- '640xx8' => 769,
- '640x480x8' => 769,
- '800xx8' => 771,
- '800x600x8' => 771,
- '1024xx8' => 773,
- '1024x768x8' => 773,
- '1280xx8' => 775,
- '1280x1024x8' => 775,
- '640xx15' => 784,
- '640x480x15' => 784,
- '800xx15' => 787,
- '800x600x15' => 787,
- '1024xx15' => 790,
- '1024x768x15' => 790,
- '1280xx15' => 793,
- '1280x1024x15' => 793,
- '640xx16' => 785,
- '640x480x16' => 785,
- '800xx16' => 788,
- '800x600x16' => 788,
- '1024xx16' => 791,
- '1024x768x16' => 791,
- '1280xx16' => 794,
- '1280x1024x16' => 794,
-#- '640xx24' => 786, #- there is a problem with these resolutions since the BIOS may take 24 or 32 planes.
-#- '640x480x24' => 786,
-#- '800xx24' => 789,
-#- '800x600x24' => 789,
-#- '1024xx24' => 792,
-#- '1024x768x24' => 792,
-#- '1280xx24' => 795,
-#- '1280x1024x24' => 795,
-);
-
-{ #- @monitorSize2resolution
- my %l = my @l = ( #- size in inch
- 13 => "640x480",
- 14 => "800x600",
- 15 => "800x600",
- 16 => "1024x768",
- 17 => "1024x768",
- 18 => "1024x768",
- 19 => "1280x1024",
- 20 => "1280x1024",
- 21 => "1600x1200",
- );
- for (my $i = 0; $i < $l[0]; $i++) {
- $monitorSize2resolution[$i] = $l[1];
- }
- while (my ($s, $r) = each %l) {
- $monitorSize2resolution[$s] = $r;
- }
-}
-
-%videomemory = (
- __("256 kB") => 256,
- __("512 kB") => 512,
- __("1 MB") => 1024,
- __("2 MB") => 2048,
- __("4 MB") => 4096,
- __("8 MB") => 8192,
- __("16 MB") => 16384,
- __("32 MB") => 32768,
- __("64 MB or more") => 65536,
-);
-
-$good_default_monitor = arch !~ /ppc/ ? "High Frequency SVGA, 1024x768 at 70 Hz" :
- detect_devices::get_mac_model =~ /^iBook/ ? "iBook 800x600" : "iMac/PowerBook 1024x768";
-$low_default_monitor = "Super VGA, 800x600 at 56 Hz";
-
-%standard_monitors = (
- __("Standard VGA, 640x480 at 60 Hz") => [ '640x480@60', "31.5" , "60" ],
- __("Super VGA, 800x600 at 56 Hz") => [ '800x600@56', "31.5-35.1" , "55-60" ],
- __("8514 Compatible, 1024x768 at 87 Hz interlaced (no 800x600)") => [ '8514 compatible', "31.5,35.5" , "60,70,87" ],
- __("Super VGA, 1024x768 at 87 Hz interlaced, 800x600 at 56 Hz") => [ '1024x768@87i', "31.5,35.15,35.5" , "55-90" ],
- __("Extended Super VGA, 800x600 at 60 Hz, 640x480 at 72 Hz") => [ '800x600@60', "31.5-37.9" , "55-90" ],
- __("Non-Interlaced SVGA, 1024x768 at 60 Hz, 800x600 at 72 Hz") => [ '1024x768@60', "31.5-48.5" , "55-90" ],
- __("High Frequency SVGA, 1024x768 at 70 Hz") => [ '1024x768@70', "31.5-57.0" , "50-90" ],
- __("Multi-frequency that can do 1280x1024 at 60 Hz") => [ '1280x1024@60', "31.5-64.3" , "50-90" ],
- __("Multi-frequency that can do 1280x1024 at 74 Hz") => [ '1280x1024@74', "31.5-79.0" , "50-100" ],
- __("Multi-frequency that can do 1280x1024 at 76 Hz") => [ '1280x1024@76', "31.5-82.0" , "40-100" ],
- __("Monitor that can do 1600x1200 at 70 Hz") => [ '1600x1200@70', "31.5-88.0" , "50-120" ],
- __("Monitor that can do 1600x1200 at 76 Hz") => [ '1600x1200@76', "31.5-94.0" , "50-160" ],
-);
-
-@vsyncranges = ("50-70", "50-90", "50-100", "40-150");
-
-@hsyncranges = (
- "31.5",
- "31.5-35.1",
- "31.5, 35.5",
- "31.5, 35.15, 35.5",
- "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",
-);
-
-%min_hsync4wres = (
- 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,
-);
-
-
-%lines = (
-#- 'Cirrus Logic|GD 5446' => [ ' Option "no_bitblt"' ],
- 'Silicon Integrated Systems [SiS]|86C326' => [ qq( Option "noaccel"\n Option "sw_cursor") ],
- 'Neomagic Corporation|NM2160 [MagicGraph 128XD]' => [ 'Option "XaaNoScanlineImageWriteRect"', 'Option "XaaNoScanlineCPUToScreenColorExpandFill' ],
-
-#- 'Trident Microsystems|Cyber 9525' => [ ' Option "noaccel"' ],
-#- 'S3 Inc.|86c368 [Trio 3D/2X]' => [ ' ChipID 0x8a10' ],
-);
-
-#- most usefull XFree86-4.0.1 server options. Default values is the first ones.
-@options_serverflags = (
- 'NoTrapSignals' => [ "Off", "On" ],
- '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" ],
-);
-
-#- most usefull server options have to be accessible at the beginning, since
-#- no more than a small set of options will be available for the user, maybe ?
-@options = (
- [ 'DPMS', 'XFree86', '.*' ],
- [ 'SyncOnGreen', 'XFree86', '.*' ],
- [ 'power_saver', 'Mono', '.*' ],
- [ 'hibit_low', 'VGA16', 'Tseng.*ET4000' ],
- [ 'hibit_high', 'VGA16', 'Tseng.*ET4000' ],
- [ 'power_saver', 'VGA16', '.*' ],
- [ 'noaccel', 'SVGA', 'Cirrus|C&T|SiS|Oak|Western Digital|Alliance|Trident|Tseng' ],
- [ 'no_accel', 'SVGA', 'ARK|MGA|i740|Oak|ET6000|W32|Media.*GX|Neomagic' ],
- [ 'linear', 'SVGA', 'Cirrus|ET6000|ET4000/W32p rev [CD]|Oak|Neomagic|Triden|Tseng' ],
- [ 'nolinear', 'SVGA', 'Cirrus|C&T|Trident' ],
- [ 'no_linear', 'SVGA', 'ARK|SiS|Neomagic|Tseng' ],
- [ 'no_bitblt', 'SVGA', 'Cirrus|C&T|SiS' ],
- [ 'no_imageblt', 'SVGA', 'Cirrus|C&T|SiS' ],
- [ 'sw_cursor', 'SVGA', '.*' ],
- [ 'slow_dram', 'SVGA', 'Cirrus|Trident|ET6000|W32|Western Digital|Tseng' ],
- [ 'mga_sdram', 'SVGA', 'MGA' ],
- [ 'no_pixmap_cache', 'SVGA', 'ARK|Cirrus|C&T|MGA|SiS|Trident.*9440|Trident.*9680|Tseng' ],
- [ 'no_mmio', 'SVGA', 'Cirrus|Neomagic|Trident' ],
- [ 'pci_burst_off', 'SVGA', 'ET6000|W32|Trident|Tseng' ],
- [ 'hw_clocks', 'SVGA', 'SiS|C&T' ],
- [ 'use_modeline', 'SVGA', 'C&T' ],
- [ 'enable_bitblt', 'SVGA', 'Oak' ],
- [ 'w32_interleave_off', 'SVGA', 'ET6000|W32|Tseng' ],
- [ 'fifo_conservative', 'SVGA', 'Cirrus|ARK|SiS|Oak' ],
- [ 'fifo_moderate', 'SVGA', 'Cirrus|ARK|SiS' ],
- [ 'all_wait', 'SVGA', 'Oak' ],
- [ 'one_wait', 'SVGA', 'Oak' ],
- [ 'first_wait', 'SVGA', 'Oak' ],
- [ 'first_wwait', 'SVGA', 'Oak' ],
- [ 'write_wait', 'SVGA', 'Oak' ],
- [ 'read_wait', 'SVGA', 'Oak' ],
- [ 'clgd6225_lcd', 'SVGA', 'Cirrus' ],
- [ 'fix_panel_size', 'SVGA', 'C&T' ],
- [ 'lcd_center', 'SVGA', 'C&T|Neomagic|Trident' ],
- [ 'cyber_shadow', 'SVGA', 'Trident' ],
- [ 'STN', 'SVGA', 'C&T' ],
- [ 'no_stretch', 'SVGA', 'C&T|Cirrus|Neomagic|Trident' ],
- [ 'no_prog_lcd_mode_regs', 'SVGA', 'Neomagic' ],
- [ 'prog_lcd_mode_stretch', 'SVGA', 'Neomagic' ],
- [ 'suspend_hack', 'SVGA', 'C&T' ],
- [ 'use_18bit_bus', 'SVGA', 'C&T' ],
- [ 'hibit_low', 'SVGA', 'Tseng.*ET4000' ],
- [ 'hibit_high', 'SVGA', 'Tseng.*ET4000' ],
- [ 'probe_clocks', 'SVGA', 'Cirrus' ],
- [ 'power_saver', 'SVGA', '.*' ],
- [ 'use_vlck1', 'SVGA', 'C&T' ],
- [ 'sgram', 'SVGA', 'i740' ],
- [ 'sdram', 'SVGA', 'i740' ],
- [ 'no_2mb_banksel', 'SVGA', 'Cirrus' ],
- [ 'tgui_pci_read_on', 'SVGA', 'Trident' ],
- [ 'tgui_pci_write_on', 'SVGA', 'Trident' ],
- [ 'no_program_clocks', 'SVGA', 'Trident' ],
- [ 'mmio', 'SVGA', 'Cirrus|C&T|Neomagic' ],
- [ 'sync_on_green', 'SVGA', 'C&T|MGA' ],
- [ 'pci_retry', 'SVGA', 'Tseng|MGA|Cirrus' ],
- [ 'hw_cursor', 'SVGA', 'C&T|SiS|ARK|ET6000|i740|Tseng' ],
- [ 'xaa_no_color_exp', 'SVGA', 'C&T|Cirrus|Trident|Tseng' ],
- [ 'xaa_benchmarks', 'SVGA', 'C&T' ],
- [ 'pci_burst_on', 'SVGA', 'Trident|Tseng' ],
- [ 'prog_lcd_mode_regs', 'SVGA', 'Neomagic' ],
- [ 'no_prog_lcd_mode_stretch', 'SVGA', 'Neomagic' ],
- [ 'no_wait', 'SVGA', 'Oak' ],
- #- [ 'med_dram', 'SVGA', 'Cirrus|Trident|Western Digital' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'fast_dram', 'SVGA', 'C&T|Cirrus|ET[46]000|Trident|Western Digital' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'fast_vram', 'SVGA', 'SiS' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'clock_50', 'SVGA', 'Oak' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'clock_66', 'SVGA', 'Oak' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'fifo_aggressive', 'SVGA', 'Cirrus|ARK|SiS|Oak' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'override_validate_mode', 'SVGA', 'Neomagic' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'tgui_mclk_66', 'SVGA', 'Trident' ], #- WARNING, MAY DAMAGE CARD
- #- [ 'favour_bitblt', 'SVGA', 'Cirrus' ], #- OBSELETE
- [ 'sw_cursor', '3DLabs', '.*' ],
- [ 'no_pixmap_cache', '3DLabs', '.*' ],
- [ 'no_accel', '3DLabs', '.*' ],
- [ 'firegl_3000', '3DLabs', '.*' ],
- [ 'sync_on_green', '3DLabs', '.*' ],
- [ 'pci_retry', '3DLabs', '.*' ],
- #- [ 'overclock_mem', '3DLabs', '.*' ], #- WARNING, MAY DAMAGE CARD
- [ 'dac_8_bit', 'I128', '.*' ],
- [ 'no_accel', 'I128', '.*' ],
- [ 'sync_on_green', 'I128', '.*' ],
- [ 'composite', 'Mach32', '.*' ],
- [ 'sw_cursor', 'Mach32', '.*' ],
- [ 'dac_8_bit', 'Mach32', '.*' ],
- [ 'ast_mach32', 'Mach32', '.*' ],
- [ 'intel_gx', 'Mach32', '.*' ],
- [ 'no_linear', 'Mach32', '.*' ],
- [ 'sw_cursor', 'Mach64', '.*' ],
- [ 'nolinear', 'Mach64', '.*' ],
- [ 'no_block_write', 'Mach64', '.*' ],
- [ 'block_write', 'Mach64', '.*' ],
- [ 'fifo_conservative', 'Mach64', '.*' ],
- [ 'no_font_cache', 'Mach64', '.*' ],
- [ 'no_pixmap_cache', 'Mach64', '.*' ],
- [ 'composite', 'Mach64', '.*' ],
- [ 'power_saver', 'Mach64', '.*' ],
- [ 'no_program_clocks', 'Mach64', '.*' ],
- [ 'no_bios_clocks', 'Mach64', '.*' ],
- [ 'dac_6_bit', 'Mach64', '.*' ],
- [ 'dac_8_bit', 'Mach64', '.*' ],
- [ 'hw_cursor', 'Mach64', '.*' ],
- #- [ 'override_bios', 'Mach64', '.*' ], #- WARNING, MAY DAMAGE CARD
- [ 'sw_cursor', 'P9000', '.*' ],
- [ 'noaccel', 'P9000', '.*' ],
- [ 'sync_on_green', 'P9000', '.*' ],
- [ 'vram_128', 'P9000', '.*' ],
- [ 'nolinear', 'S3', '.*' ],
- [ 'dac_8_bit', 'S3', '.*' ],
- [ 'slow_vram', 'S3', 'S3.*964' ],
- [ 'stb_pegasus', 'S3', 'S3.*928' ],
- [ 'SPEA_Mercury', 'S3', 'S3.*(928|964)' ],
- [ 'number_nine', 'S3', 'S3.*(864|928)' ],
- [ 'lcd_center', 'S3', 'S3.*Aurora64V' ],
- [ 'noaccel', 'S3V', '.*' ],
- [ 'slow_edodram', 'S3V', '.*' ],
- [ 'pci_burst_on', 'S3V', '.*' ],
- [ 'early_ras_precharge', 'S3V', '.*' ],
- [ 'late_ras_precharge', 'S3V', '.*' ],
- [ 'fifo_conservative', 'S3V', '.*' ],
- [ 'fifo_aggressive', 'S3V', '.*' ],
- [ 'fifo_moderate', 'S3V', '.*' ],
- [ 'lcd_center', 'S3V', 'S3.*ViRGE\/MX' ],
- [ 'hw_cursor', 'S3V', '.*' ],
- [ 'pci_retry', 'S3V', '.*' ],
- [ 'dac_6_bit', 'AGX', '.*' ],
- [ 'dac_8_bit', 'AGX', '.*' ],
- [ 'sync_on_green', 'AGX', '.*' ],
- [ '8_bit_bus', 'AGX', '.*' ],
- [ 'wait_state', 'AGX', '.*' ],
- [ 'no_wait_state', 'AGX', '.*' ],
- [ 'noaccel', 'AGX', '.*' ],
- [ 'crtc_delay', 'AGX', '.*' ],
- [ 'fifo_conserv', 'AGX', '.*' ],
- [ 'fifo_aggressive', 'AGX', '.*' ],
- [ 'fifo_moderate', 'AGX', '.*' ],
- [ 'vram_delay_latch', 'AGX', '.*' ],
- [ 'vram_delay_ras', 'AGX', '.*' ],
- [ 'vram_extend_ras', 'AGX', '.*' ],
- [ 'slow_dram', 'AGX', '.*' ],
- [ 'slow_vram', 'AGX', '.*' ],
- [ 'med_dram', 'AGX', '.*' ],
- [ 'med_vram', 'AGX', '.*' ],
- [ 'fast_dram', 'AGX', '.*' ],
- [ 'fast_vram', 'AGX', '.*' ],
- [ 'engine_delay', 'AGX', '.*' ],
- [ 'vram_128', 'AGX', '.*' ],
- [ 'vram_256', 'AGX', '.*' ],
- [ 'refresh_20', 'AGX', '.*' ],
- [ 'refresh_25', 'AGX', '.*' ],
- [ 'screen_refresh', 'AGX', '.*' ],
- [ 'vlb_a', 'AGX', '.*' ],
- [ 'vlb_b', 'AGX', '.*' ],
- [ 'slow_dram', 'W32', '.*' ],
- [ 'pci_burst_off', 'W32', '.*' ],
- [ 'w32_interleave_off', 'W32', '.*' ],
- [ 'no_accel', 'W32', '.*' ],
- [ 'nolinear', '8514', '.*' ],
- [ 'sw_cursor', '8514', '.*' ],
- [ 'no_block_write', '8514', '.*' ],
- [ 'block_write', '8514', '.*' ],
- [ 'fifo_conservative', '8514', '.*' ],
- [ 'no_font_cache', '8514', '.*' ],
- [ 'no_pixmap_cache', '8514', '.*' ],
- [ 'composite', '8514', '.*' ],
- [ 'power_saver', '8514', '.*' ],
- [ 'power_saver', 'FBDev', '.*' ],
-);
-
-%xkb_options = (
- 'ru(winkeys)' => [ 'XkbOptions "grp:caps_toggle"' ],
- 'jp' => [ 'XkbModel "jp106"' ],
-);
-
-$XF86firstchunk_text = q(
-# File generated by XFdrake.
-
-# **********************************************************************
-# Refer to the XF86Config(4/5) man page for details about the format of
-# this file.
-# **********************************************************************
-
-Section "Files"
-
- RgbPath "/usr/X11R6/lib/X11/rgb"
-
-# 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
-
-# **********************************************************************
-# Server flags section.
-# **********************************************************************
-
-Section "ServerFlags"
-
- # Uncomment this to cause a core dump at the spot where a signal is
- # received. This may leave the console in an unusable state, but may
- # provide a better stack trace in the core dump to aid in debugging
- #NoTrapSignals
-
- # Uncomment this to disable the <Crtl><Alt><BS> server abort sequence
- # This allows clients to receive this key event.
- #DontZap
-
- # Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching
- # sequences. This allows clients to receive these key events.
- #DontZoom
-
- # This allows the server to start up even if the
- # mouse device can't be opened/initialised.
- AllowMouseOpenFail
-
-EndSection
-
-# **********************************************************************
-# Input devices
-# **********************************************************************
-);
-
-$keyboardsection_start = '
-# **********************************************************************
-# Keyboard section
-# **********************************************************************
-
-Section "Keyboard"
-
- Protocol "Standard"
-
- # when using XQUEUE, comment out the above line, and uncomment the
- # following line
- #Protocol "Xqueue"
-
- AutoRepeat 250 30
-
- # Let the server do the NumLock processing. This should only be
- # required when using pre-R6 clients
- #ServerNumLock
-
- # Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
- #Xleds "1 2 3"
-
- #To set the LeftAlt to Meta, RightAlt key to ModeShift,
- #RightCtl key to Compose, and ScrollLock key to ModeLock:
-
- LeftAlt Meta
- RightAlt Meta
- ScrollLock Compose
- RightCtl Control
-
-# To disable the XKEYBOARD extension, uncomment XkbDisable.
-
-# XkbDisable
-';
-
-$keyboardsection_start_v4 = '
-# **********************************************************************
-# Keyboard section
-# **********************************************************************
-
-Section "InputDevice"
-
- Identifier "Keyboard1"
- Driver "Keyboard"
- Option "AutoRepeat" "250 30"
-';
-
-if (arch() =~ /^sparc/) {
- $keyboardsection_part3 = '
-# To customise the XKB settings to suit your keyboard, modify the
-# lines below (which are the defaults). For example:
-# XkbModel "type6"
-# If you have a SUN keyboard, you may use:
-# XkbModel "sun"
-#
-# Then to change the language, change the Layout setting.
-# For example, a german layout can be obtained with:
-# XkbLayout "de"
-# or:
-# XkbLayout "de"
-# XkbVariant "nodeadkeys"
-#
-# If you\'d like to switch the positions of your capslock and
-# control keys, use:
-# XkbOptions "ctrl:swapcaps"
-
-# These are the default XKB settings for XFree86 on SUN:
-# XkbRules "sun"
-# XkbModel "type5_unix"
-# XkbLayout "us"
-# XkbCompat "compat/complete"
-# XkbTypes "types/complete"
-# XkbKeycodes "sun(type5)"
-# XkbGeometry "sun(type5)"
-# XkbSymbols "sun/us(sun5)"
-
- XkbRules "sun"
- XkbLayout "us"
- XkbCompat "compat/complete"
- XkbTypes "types/complete"
- XkbKeycodes "sun(type5)"
- XkbGeometry "sun(type5)"
- XkbSymbols "sun/us(sun5)"
-';
-$keyboardsection_part3_v4 = '
- Option "XkbRules" "sun"
- Option "XkbLayout" "us"
- Option "XkbCompat" "compat/complete"
- Option "XkbTypes" "types/complete"
- Option "XkbKeycodes" "sun(type5)"
- Option "XkbGeometry" "sun(type5)"
- Option "XkbSymbols" "sun/us(sun5)"
-';
-} elsif (arch() =~ /ppc/) {
-$keyboardsection_part3 = '
-# To customise the XKB settings to suit your keyboard, modify the
-# lines below (which are the defaults). For example, for a non-U.S.
-# keyboard, you will probably want to use:
-# XkbModel "pc102"
-# If you have a US Microsoft Natural keyboard, you can use:
-# XkbModel "microsoft"
-#
-# Then to change the language, change the Layout setting.
-# For example, a german layout can be obtained with:
-# XkbLayout "de"
-# or:
-# XkbLayout "de"
-# XkbVariant "nodeadkeys"
-#
-# If you\'d like to switch the positions of your capslock and
-# control keys, use:
-# XkbOptions "ctrl:swapcaps"
-
-# These are the default XKB settings for XFree86
-# XkbRules "xfree86"
-# XkbModel "pc101"
-# XkbLayout "us"
-# XkbVariant ""
-# XkbOptions ""
-
- XkbKeycodes "xfree86"
- XkbTypes "default"
- XkbCompat "default"
- XkbSymbols "macintosh/us"
- XkbGeometry "macintosh"
- XkbRules "xfree86"
-';
-
-$keyboardsection_part3_v4 = '
- Option "XkbRules" "xfree86"
-';
-} else {
-$keyboardsection_part3 = '
-# To customise the XKB settings to suit your keyboard, modify the
-# lines below (which are the defaults). For example, for a non-U.S.
-# keyboard, you will probably want to use:
-# XkbModel "pc102"
-# If you have a US Microsoft Natural keyboard, you can use:
-# XkbModel "microsoft"
-#
-# Then to change the language, change the Layout setting.
-# For example, a german layout can be obtained with:
-# XkbLayout "de"
-# or:
-# XkbLayout "de"
-# XkbVariant "nodeadkeys"
-#
-# If you\'d like to switch the positions of your capslock and
-# control keys, use:
-# XkbOptions "ctrl:swapcaps"
-
-# These are the default XKB settings for XFree86
-# XkbRules "xfree86"
-# XkbModel "pc101"
-# XkbLayout "us"
-# XkbVariant ""
-# XkbOptions ""
-
- XkbKeycodes "xfree86"
- XkbTypes "default"
- XkbCompat "default"
- XkbSymbols "us(pc105)"
- XkbGeometry "pc"
- XkbRules "xfree86"
-';
-
-$keyboardsection_part3_v4 = '
- Option "XkbRules" "xfree86"
-';
-}
-
-$keyboardsection_end = '
-EndSection
-';
-
-$pointersection_text = '
-# **********************************************************************
-# Pointer section
-# **********************************************************************
-
-';
-
-$monitorsection_text1 = '
-# **********************************************************************
-# Monitor section
-# **********************************************************************
-
-# Any number of monitor sections may be present
-
-Section "Monitor"
-';
-
-$monitorsection_text2 = '
-# HorizSync is in kHz unless units are specified.
-# HorizSync may be a comma separated list of discrete values, or a
-# comma separated list of ranges of values.
-# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR\'S
-# USER MANUAL FOR THE CORRECT NUMBERS.
-';
-
-$monitorsection_text3 = '
-# VertRefresh is in Hz unless units are specified.
-# VertRefresh may be a comma separated list of discrete values, or a
-# comma separated list of ranges of values.
-# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR\'S
-# USER MANUAL FOR THE CORRECT NUMBERS.
-';
-
-$monitorsection_text4 = '
-# Modes can be specified in two formats. A compact one-line format, or
-# a multi-line format.
-
-# These two are equivalent
-
-# ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace
-
-# Mode "1024x768i"
-# DotClock 45
-# HTimings 1024 1048 1208 1264
-# VTimings 768 776 784 817
-# Flags "Interlace"
-# EndMode
-';
-
-$modelines_text_Trident_TG_96xx = '
-# 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.
-
-# These are special modelines for Trident Providia 9685. It is for VA Linux
-# systems only.
-# 640x480 @ 72 Hz, 36.5 kHz hsync
-Modeline "640x480" 31.5 640 680 720 864 480 488 491 521
-# 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
-# 1024x768 @ 70 Hz, 56.5 kHz hsync
-Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
-';
-$modelines_text_ext = '
-# This is a set of extended mode timings typically used for laptop,
-# TV fullscreen mode or DVD fullscreen output.
-# These are available along with standard mode timings.
-
-# 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
-
-';
-$modelines_text_apple = '
-Section "Modes"
- Identifier "Mac Modes"
- # 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
-EndSection
-';
-$modelines_text = '
-# 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 @ 72 Hz, 36.5 kHz hsync
-Modeline "640x480" 31.5 640 680 720 864 480 488 491 521
-# 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 @ 74 Hz, 78.85 kHz hsync
-Modeline "1280x1024" 135 1280 1312 1456 1712 1024 1027 1030 1064
-
-# 1024x768 @ 100Hz, 80.21 kHz hsync
-Modeline "1024x768" 115.5 1024 1056 1248 1440 768 771 781 802 -HSync -VSync
-# 1280x1024 @ 76 Hz, 81.13 kHz hsync
-Modeline "1280x1024" 135 1280 1312 1416 1664 1024 1027 1030 1064
-# 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
-
-';
-
-$devicesection_text = '
-# **********************************************************************
-# Graphics device section
-# **********************************************************************
-
-Section "Device"
- Identifier "Generic VGA"
- Chipset "generic"
-EndSection
-
-';
-
-$devicesection_text_v4 = '
-# **********************************************************************
-# Graphics device section
-# **********************************************************************
-
-Section "Device"
- Identifier "Generic VGA"
- Driver "vga"
-EndSection
-
-';
-
-$screensection_text1 = '
-# **********************************************************************
-# Screen sections
-# **********************************************************************
-';
-
diff --git a/perl-install/any.pm b/perl-install/any.pm
index 02dfee4ce..ab93036dc 100644
--- a/perl-install/any.pm
+++ b/perl-install/any.pm
@@ -7,48 +7,40 @@ use strict;
#- misc imports
#-######################################################################################
use common;
-use commands;
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 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 {
- my ($prefix) = @_;
- "$prefix/usr/share/mdk/faces/";
-}
-sub face2xpm {
- my ($face, $prefix) = @_;
- facesdir($prefix) . $face . ".xpm";
+sub facesdir() {
+ "$::prefix/usr/share/mga/faces/";
}
sub face2png {
- my ($face, $prefix) = @_;
- facesdir($prefix) . $face . ".png";
+ my ($face) = @_;
+ facesdir() . $face . ".png";
}
-sub facesnames {
- my ($prefix) = @_;
- my $dir = facesdir($prefix);
+sub facesnames() {
+ my $dir = facesdir();
my @l = grep { /^[A-Z]/ } all($dir);
- grep { -e "$dir/$_.png" } map { /(.*)\.xpm/ } (@l ? @l : all($dir));
+ map { if_(/(.*)\.png/, $1) } (@l ? @l : all($dir));
}
sub addKdmIcon {
- my ($prefix, $user, $icon) = @_;
- my $dest = "$prefix/usr/share/faces/$user.png";
- eval { commands::cp("-f", facesdir($prefix) . $icon . ".png", $dest) } if $icon;
+ my ($user, $icon) = @_;
+ my $dest = "$::prefix/usr/share/faces/$user.png";
+ eval { cp_af(facesdir() . $icon . ".png", $dest) } if $icon;
}
-sub allocUsers {
- my ($prefix, $users) = @_;
- my @m = my @l = facesnames($prefix);
+sub alloc_user_faces {
+ my ($users) = @_;
+ my @m = my @l = facesnames();
foreach (grep { !$_->{icon} || $_->{icon} eq "automagic" } @$users) {
$_->{auto_icon} = splice(@m, rand(@m), 1); #- known biased (see cookbook for better)
log::l("auto_icon is $_->{auto_icon}");
@@ -56,291 +48,931 @@ sub allocUsers {
}
}
-sub addUsers {
- my ($prefix, $users) = @_;
- my $msec = "$prefix/etc/security/msec";
+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($prefix, $users);
- foreach my $u (@$users) {
- substInFile { s/^$u->{name}\n//; $_ .= "$u->{name}\n" if eof } "$msec/user.conf" if -d $msec;
- addKdmIcon($prefix, $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") };
}
- run_program::rooted($prefix, "/usr/share/msec/grpuser.sh --refresh >/dev/null");
}
-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 {
- my ($prefix) = @_;
- 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 enableMD5Shadow { #- NO MORE USED
- my ($prefix, $shadow, $md5) = @_;
- substInFile {
- if (/^password.*pam_pwdb.so/) {
- s/\s*shadow//; s/\s*md5//;
- s/$/ shadow/ if $shadow;
- s/$/ md5/ if $md5;
+
+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 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 setupBootloaderBefore {
+ my ($do_pkgs, $bootloader, $all_hds, $fstab, $keyboard, $allow_fb, $vga_fb, $splash, $quiet) = @_;
+ require bootloader;
+
+ #- auto_install backward compatibility
+ #- one should now use {message_text}
+ if ($bootloader->{message} =~ m!^[^/]!) {
+ $bootloader->{message_text} = delete $bootloader->{message};
+ }
+
+ 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 = '';
+ }
}
- } grep { -r $_ } map { "$prefix/etc/pam.d/$_" } qw(login rlogin passwd);
+ 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 {
+ 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));
+ }
+ }
+
+ #- 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');
+ }
+
+ #- 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};
+
+ $bootloader->{keytable} ||= keyboard::keyboard2kmap($keyboard);
+ log::l("setupBootloaderBefore end");
}
sub setupBootloader {
- my ($in, $b, $all_hds, $fstab, $security, $prefix, $more) = @_;
- my $hds = $all_hds->{hds};
+ my ($in, $b, $all_hds, $fstab, $security) = @_;
- $more++ if $b->{bootUnsafe};
- $more = 2 if arch() =~ /ppc/; #- no auto for PPC yet
-
- if (!$::expert && $more < 1) {
- #- automatic
- } elsif (!$::expert && arch() !~ /ia64/) {
- my @l = (__("First sector of drive (MBR)"), __("First sector of boot partition"));
-
- $in->set_help('setupBootloaderBeginner') unless $::isStandalone;
- if (arch() =~ /sparc/) {
- $b->{use_partition} = $in->ask_from_list_(_("SILO Installation"),
- _("Where do you want to install the bootloader?"),
- \@l, $l[$b->{use_partition}]) or return;
- } elsif (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";
- }
+ require bootloader;
+ 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 {
- my $boot = $hds->[0]{device};
- my $onmbr = "/dev/$boot" eq $b->{boot};
- $b->{boot} = "/dev/" . ($in->ask_from_list_(_("LILO/grub Installation"),
- _("Where do you want to install the bootloader?"),
- \@l, $l[!$onmbr]) eq $l[0]
- ? $boot : fsedit::get_root($fstab, 'boot')->{device});
+ setupBootloader__entries($in, $b, $all_hds, $fstab) or goto general;
}
- } else {
- $in->set_help(arch() =~ /sparc/ ? "setupSILOGeneral" : arch() =~ /ppc/ ? 'setupYabootGeneral' :"setupBootloaderGeneral") unless $::isStandalone; #- TO MERGE ?
-
- my @silo_install_lang = (_("First sector of drive (MBR)"), _("First sector of boot partition"));
- my $silo_install_lang = $silo_install_lang[$b->{use_partition}];
-
- my %bootloaders = (if_(exists $b->{methods}{silo},
- __("SILO") => sub { $b->{methods}{silo} = 1 }),
- if_(exists $b->{methods}{lilo},
- __("LILO with text menu") => sub { $b->{methods}{lilo} = "lilo-menu" },
- __("LILO with graphical menu") => sub { $b->{methods}{lilo} = "lilo-graphic" }),
- if_(exists $b->{methods}{grub},
- #- put lilo if grub is chosen, so that /etc/lilo.conf is generated
- __("Grub") => sub { $b->{methods}{grub} = 1;
- exists $b->{methods}{lilo}
- and $b->{methods}{lilo} = "lilo-menu" }),
- if_(exists $b->{methods}{loadlin},
- __("Boot from DOS/Windows (loadlin)") => sub { $b->{methods}{loadlin} = 1 }),
- if_(exists $b->{methods}{yaboot},
- __("Yaboot") => sub { $b->{methods}{yaboot} = 1 }),
- );
- my $bootloader = arch() =~ /sparc/ ? __("SILO") : arch() =~ /ppc/ ? __("Yaboot") : __("LILO with graphical menu");
- my $profiles = bootloader::has_profiles($b);
- my $memsize = bootloader::get_append($b, 'mem');
-
- $b->{vga} ||= 'Normal';
- if (arch !~ /ppc/) {
- $in->ask_from('', _("Bootloader main options"), [
-{ label => _("Bootloader to use"), val => \$bootloader, list => [ keys(%bootloaders) ], format => \&translate },
- arch() =~ /sparc/ ? (
-{ label => _("Bootloader installation"), val => \$silo_install_lang, list => \@silo_install_lang },
-) : if_(arch() !~ /ia64/,
-{ label => _("Boot device"), val => \$b->{boot}, list => [ map { "/dev/$_" } (map { $_->{device} } (@$hds, grep { !isFat($_) } @$fstab)), detect_devices::floppies_dev() ], not_edit => !$::expert },
-{ label => _("LBA (doesn't work on old BIOSes)"), val => \$b->{lba32}, type => "bool", text => "lba", advanced => 1 },
-{ label => _("Compact"), val => \$b->{compact}, type => "bool", text => _("compact"), advanced => 1 },
-{ label => _("Video mode"), val => \$b->{vga}, list => [ keys %bootloader::vga_modes ], not_edit => !$::expert, advanced => 1 },
-),
-{ label => _("Delay before booting default image"), val => \$b->{timeout} },
- if_($security >= 4,
-{ label => _("Password"), val => \$b->{password}, hidden => 1 },
-{ label => _("Password (again)"), val => \$b->{password2}, hidden => 1 },
-{ label => _("Restrict command line options"), val => \$b->{restricted}, type => "bool", text => _("restrict") },
- ),
-{ label => _("Clean /tmp at each boot"), val => \$b->{CLEAN_TMP}, type => 'bool', advanced => 1 },
-{ label => _("Precise RAM size if needed (found %d MB)", availableRamMB()), val => \$memsize, advanced => 1 },
- if_(detect_devices::isLaptop,
-{ label => _("Enable multi profiles"), val => \$profiles, type => 'bool', advanced => 1 },
- ),
-],
- complete => sub {
- !$memsize || $memsize =~ /K$/ || $memsize =~ s/^(\d+)M?$/$1M/i or $in->ask_warn('', _("Give the ram size in MB")), return 1;
-#- $security > 4 && length($b->{password}) < 6 and $in->ask_warn('', _("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('', _("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('', [ _("The passwords do not match"), _("Please try again") ]), return 1;
- 0;
- }
- ) or return 0;
+ }
+ 1;
+}
+
+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);
+}
+
+sub installBootloader {
+ my ($in, $b, $all_hds) = @_;
+ return if detect_devices::is_xbox();
+
+ return 1 if arch() =~ /arm/;
+
+ install_bootloader_pkgs($in->do_pkgs, $b);
+
+ 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 {
- $b->{boot} = $partition_table_mac::bootstrap_part;
- $in->ask_from('', _("Bootloader main options"), [
- { label => _("Bootloader to use"), val => \$bootloader, list => [ keys(%bootloaders) ], format => \&translate },
- { label => _("Init Message"), val => \$b->{initmsg} },
- { label => _("Boot device"), val => \$b->{boot}, list => [ map { "/dev/$_" } (map { $_->{device} } (grep { isAppleBootstrap($_) } @$fstab))], not_edit => !$::expert },
- { label => _("Open Firmware Delay"), val => \$b->{delay} },
- { label => _("Kernel Boot Timeout"), val => \$b->{timeout} },
- { label => _("Enable CD Boot?"), val => \$b->{enablecdboot}, type => "bool" },
- { label => _("Enable OF Boot?"), val => \$b->{enableofboot}, type => "bool" },
- { label => _("Default OS?"), val=> \$b->{defaultos}, list => [ 'linux', 'macos', 'macosx', 'darwin' ] },
- ]) or return 0;
+ $in->ask_warn('', [ N("Installation of bootloader failed. The following error occurred:"), $err ]);
+ return;
}
-
- $b->{methods}{$_} = 0 foreach keys %{$b->{methods}};
- $bootloaders{$bootloader} and $bootloaders{$bootloader}->();
- #- at least one method
- grep_each { $::b } %{$b->{methods}} or return;
-
- $b->{use_partition} = $silo_install_lang eq _("First sector of drive (MBR)") ? 0 : 1;
- $b->{vga} = $bootloader::vga_modes{$b->{vga}} || $b->{vga};
-
- bootloader::set_profiles($b, $profiles);
- bootloader::add_append($b, "mem", $memsize);
- }
-
- while ($::expert || $more > 1) {
- $in->set_help(arch() =~ /sparc/ ? 'setupSILOAddEntry' : arch() =~ /ppc/ ? 'setupYabootAddEntry' : 'setupBootloaderAddEntry') unless $::isStandalone;
- my ($c, $e);
- eval { $in->ask_from_(
- {
- messages =>
-_("Here are the different entries.
-You can add some more or change the existing ones."),
- ok => '',
-},
- [ { val => \$e, format => sub {
- my ($e) = @_;
- ref $e ?
- "$e->{label} ($e->{kernel_or_dev})" . ($b->{default} eq $e->{label} && " *") :
- translate($e);
- }, list => [ @{$b->{entries}} ] },
- (map { my $s = $_; { val => translate($_), clicked => sub { $c = $s; die } } } (__("Modify"), __("Add"), __("Done"))),
- ]
- ) };
- !$c || $c eq "Done" and last;
-
- if ($c eq "Add") {
- my @labels = map { $_->{label} } @{$b->{entries}};
- my $prefix;
- if ($in->ask_from_list_('', _("Which type of entry do you want to add?"),
- [ __("Linux"), arch() =~ /sparc/ ? __("Other OS (SunOS...)") : arch() =~ /ppc/ ?
- __("Other OS (MacOS...)") : __("Other OS (windows...)") ]
- ) eq "Linux") {
- $e = { type => 'image',
- root => '/dev/' . fsedit::get_root($fstab)->{device}, #- assume a good default.
- };
- $prefix = "linux";
- } else {
- $e = { type => 'other' };
- $prefix = arch() =~ /sparc/ ? "sunos" : arch() =~ /ppc/ ? "macos" : "windows";;
+ }
+ 1;
+}
+
+
+sub setupBootloader_simple {
+ my ($in, $b, $all_hds, $fstab, $security) = @_;
+ my $hds = $all_hds->{hds};
+
+ require bootloader;
+ bootloader::ensafe_first_bios_drive($hds)
+ || $b->{bootUnsafe} or return 1; #- default is good enough
+
+ if (arch() !~ /ia64/) {
+ setupBootloader__mbr_or_not($in, $b, $hds, $fstab) or return 0;
+ } else {
+ general:
+ setupBootloader__general($in, $b, $all_hds, $fstab, $security) or return 0;
+ }
+ setupBootloader__boot_bios_drive($in, $b, $hds) or goto general;
+ 1;
+}
+
+
+sub setupBootloader__boot_bios_drive {
+ my ($in, $b, $hds) = @_;
+
+ 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("_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 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}");
+ $b->{first_hd_device} = "/dev/$hd->{device}";
+ 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) = @_;
+
+ 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/' . fs::get::root($fstab, 'boot')->{device} ],
+ if_($floppy,
+ [ N("On Floppy") => "/dev/$floppy" ],
+ ),
+ [ N("Skip") => '' ],
+ );
+
+ 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) = @_;
+
+ 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 $prev_method = $b->{method};
+
+ $b->{password2} ||= $b->{password} ||= '';
+ $::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 {
+ 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};
}
- $e->{label} = $prefix;
- for (my $nb = 0; member($e->{label}, @labels); $nb++) { $e->{label} = "$prefix-$nb" }
+ $boot_devices{$dev} = $name ? "$dev ($name)" : $dev;
}
- my %old_e = %$e;
+ }
+
+ $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->{boot} =~ m!/dev/md\d+$!) {
+ $b->{'raid-extra-boot'} = 'mbr';
+ } else {
+ delete $b->{'raid-extra-boot'} if $b->{'raid-extra-boot'} eq 'mbr';
+ }
+
+ 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_with_key($b, acpi => ($force_acpi ? '' : 'ht'));
+ }
+
+ if ($prev_enable_smp != $enable_smp) {
+ ($enable_smp ? \&bootloader::remove_append_simple : \&bootloader::set_append_simple)->($b, 'nosmp');
+ }
+
+ 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;
+ }
+}
+
+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 => _("Image"), val => \$e->{kernel_or_dev}, list => [ map { s/$prefix//; $_ } glob_("$prefix/boot/vmlinuz*") ], not_edit => 0 },
-{ label => _("Root"), val => \$e->{root}, list => [ map { "/dev/$_->{device}" } @$fstab ], not_edit => !$::expert },
-{ label => _("Append"), val => \$e->{append} },
- if_(arch !~ /ppc|ia64/,
-{ label => _("Video mode"), val => \$e->{vga}, list => [ keys %bootloader::vga_modes ], not_edit => !$::expert },
-),
-{ label => _("Initrd"), val => \$e->{initrd}, list => [ map { s/$prefix//; $_ } glob_("$prefix/boot/initrd*") ] },
-{ label => _("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 => _("Root"), val => \$e->{kernel_or_dev}, list => [ map { "/dev/$_->{device}" } @$fstab ], not_edit => !$::expert },
-if_(arch() !~ /sparc|ppc|ia64/,
-{ label => _("Table"), val => \$e->{table}, list => [ '', map { "/dev/$_->{device}" } @$hds ], not_edit => !$::expert },
-{ label => _("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/) {
- @l = (
-{ label => _("Label"), val => \$e->{label} },
-@l,
-{ label => _("Default"), val => \$default, type => 'bool' },
- );
-} else {
- @l = ({ label => _("Label"), val => \$e->{label}, list=> ['macos', 'macosx', 'darwin'] },
- @l );
- if ($e->{type} eq "image") {
- @l = ({ label => _("Label"), val => \$e->{label} },
- $::expert ? @l[1..4] : (@l[1..2], { label => _("Append"), val => \$e->{append} }) ,
- if_($::expert, { label => _("Initrd-size"), val => \$e->{initrdsize}, list => [ '', '4096', '8192', '16384', '24576' ] }),
- if_($::expert, $l[5]),
- { label => _("NoVideo"), val => \$e->{novideo}, type => 'bool' },
- { label => _("Default"), val => \$default, type => 'bool' }
- );
+ if ($b->{method} ne 'refind') {
+ @l = (
+ { label => N("Label"), val => \$e->{label} },
+ @l,
+ { text => N("Default"), val => \$default, type => 'bool' },
+ );
}
-}
-
- if ($in->ask_from_(
- {
- if_($c ne "Add", cancel => _("Remove entry")),
+ $in->ask_from_(
+ {
+ interactive_help_id => 'setupBootloaderAddEntry',
callbacks => {
complete => sub {
- $e->{label} or $in->ask_warn('', _("Empty label not allowed")), return 1;
- member($e->{label}, map { $_->{label} } grep { $_ != $e } @{$b->{entries}}) and $in->ask_warn('', _("This label is already used")), return 1;
+ $e->{label} or $in->ask_warn('', N("Empty label not allowed")), return 1;
+ $e->{kernel_or_dev} or $in->ask_warn('', $e->{type} eq 'image' ? N("You must specify a kernel image") : N("You must specify a root partition")), return 1;
+ member(lc $e->{label}, map { lc $_->{label} } grep { $_ != $e } @{$b->{entries}}) and $in->ask_warn('', N("This label is already used")), return 1;
0;
- } } }, \@l)) {
- $b->{default} = $old_default || $default ? $default && $e->{label} : $b->{default};
- $e->{vga} = $bootloader::vga_modes{$e->{vga}} || $e->{vga};
- require bootloader;
- bootloader::configure_entry($prefix, $e); #- hack to make sure initrd file are built.
+ } } }, \@l) or return;
+
+ $b->{default} = $old_default || $default ? $default && $e->{label} : $b->{default};
+ 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 ($b->{method} eq 'refind') {
+ $e = { type => 'image',
+ 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 = "windows";
+ }
+ $e->{label} = $prefix;
+ for (my $nb = 0; member($e->{label}, @labels); $nb++) {
+ $e->{label} = "$prefix-$nb";
+ }
+ $Modify->($e) or return;
+ bootloader::add_entry($b, $e);
+ $e;
+ };
+
+ my $Remove = sub {
+ my ($e) = @_;
+ delete $b->{default} if $b->{default} eq $e->{label};
+ @{$b->{entries}} = grep { $_ != $e } @{$b->{entries}};
+ 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}};
+
+ #- 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) ?
+ ($b->{default} eq $e->{label} ? " * " : " ") . "$e->{label} ($e->{kernel_or_dev})" :
+ translate($e);
+ }, list => $b->{entries},
+ } ], Add => $Add, Modify => $Modify, Remove => $Remove, Up => $Up, Down => $Down)) {
+ 1;
+ } else {
+ @{$b->{entries}} = @prev_entries;
+ '';
+ }
+}
+
+sub setupBootloader__grub2 {
+ my ($in, $b, $_all_hds, $_fstab) = @_;
- push @{$b->{entries}}, $e if $c eq "Add";
+ # 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 {
- @{$b->{entries}} = grep { $_ != $e } @{$b->{entries}};
+ $in->do_pkgs->remove('os-prober');
}
+ 1;
+ } else {
+ '';
}
- 1;
}
-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 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 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 pack_passwd {
- my ($l) = @_;
- join(':', @$l{@etc_pass_fields}) . "\n";
+
+sub get_autologin() {
+ my %desktop = getVarsFromSh("$::prefix/etc/sysconfig/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 get_autologin {
- my ($prefix, $o) = @_;
- my %l = getVarsFromSh("$prefix/etc/sysconfig/autologin");
- $o->{autologin} ||= $l{USER};
- %l = getVarsFromSh("$prefix/etc/sysconfig/desktop");
- $o->{desktop} ||= $l{DESKTOP};
+sub is_standalone_autologin_needed {
+ my ($dm) = @_;
+ return member($dm, qw(slim xdm));
}
sub set_autologin {
- my ($prefix, $user, $desktop) = @_;
+ 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 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
+ 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 (is_standalone_autologin_needed($autologin->{dm})) {
+ setVarsInShMode($xdm_autologin_cfg, 0644,
+ { 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 ($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"));
- }
- setVarsInSh("$prefix/etc/sysconfig/autologin",
- { USER => $user, AUTOLOGIN => bool2yesno($user), EXEC => "/usr/X11R6/bin/startx" });
- log::l("cat $prefix/etc/sysconfig/autologin ($user):\n", cat_("$prefix/etc/sysconfig/autologin"));
+ 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);
+ }
}
sub rotate_log {
@@ -353,507 +985,1041 @@ sub rotate_log {
}
sub rotate_logs {
my ($prefix) = @_;
- rotate_log("$prefix/root/$_") 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";
- output $file,
- grep { !m|^(/usr)?/lib$| } #- no need to have /lib and /usr/lib in ld.so.conf
- uniq cat_($file), "/usr/X11R6/lib\n";
+ my @l = chomp_(cat_($file));
+
+ 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));
}
-sub shells {
- my ($prefix) = @_;
- grep { -x "$prefix$_" } chomp_(cat_("$prefix/etc/shells"));
+sub shells() {
+ grep { -x "$::prefix$_" } chomp_(cat_("$::prefix/etc/shells"));
}
sub inspect {
- my ($part, $prefix, $rw) = @_;
+ my ($part, $o_prefix, $b_rw) = @_;
- isMountableRW($part) or return;
+ isMountableRW($part) || !$b_rw && isOtherAvailableFS($part) or return;
- my $dir = "/tmp/inspect_tmp_dir";
+ my $dir = $::isInstall ? "/tmp/inspect_tmp_dir" : "/root/.inspect_tmp_dir";
if ($part->{isMounted}) {
- $dir = ($prefix || '') . $part->{mntpoint};
+ $dir = ($o_prefix || '') . $part->{mntpoint};
} elsif ($part->{notFormatted} && !$part->{isFormatted}) {
$dir = '';
} else {
mkdir $dir, 0700;
- eval { fs::mount($part->{device}, $dir, type2fs($part), !$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;
}
-#-----modem conf
-sub pppConfig {
- my ($in, $modem, $prefix) = @_;
- $modem or return;
-
- if ($modem->{device} ne "/dev/modem") {
- devfssymlinkf($modem->{device}, 'modem', $prefix) or log::l("creation of $prefix/dev/modem failed")
- }
- $in->do_pkgs->install('ppp') if !$::testing;
-
- my %toreplace;
- $toreplace{$_} = $modem->{$_} foreach qw(connection phone login passwd auth domain dns1 dns2);
- $toreplace{kpppauth} = ${{ 'Script-based' => 0, 'PAP' => 1, 'Terminal-based' => 2, }}{$modem->{auth}};
- $toreplace{kpppauth} = ${{ 'Script-based' => 0, 'PAP' => 1, 'Terminal-based' => 2, 'CHAP' => 3 }}{$modem->{auth}};
- $toreplace{phone} =~ s/\D//g;
- $toreplace{dnsserver} = join ',', map { $modem->{$_} } "dns1", "dns2";
- $toreplace{dnsserver} .= $toreplace{dnsserver} && ',';
-
- #- using peerdns or dns1,dns2 avoid writing a /etc/resolv.conf file.
- $toreplace{peerdns} = "yes";
-
- $toreplace{connection} ||= 'DialupConnection';
- $toreplace{domain} ||= 'localdomain';
- $toreplace{intf} ||= 'ppp0';
- $toreplace{papname} = ($modem->{auth} eq 'PAP' || $modem->{auth} eq 'CHAP') && $toreplace{login};
-
- #- build ifcfg-ppp0.
- my $ifcfg = "$prefix/etc/sysconfig/network-scripts/ifcfg-ppp0";
- local *IFCFG; open IFCFG, ">$ifcfg" or die "Can't open $ifcfg";
- print IFCFG <<END;
-DEVICE="$toreplace{intf}"
-ONBOOT="no"
-USERCTL="no"
-MODEMPORT="/dev/modem"
-LINESPEED="115200"
-PERSIST="yes"
-DEFABORT="yes"
-DEBUG="yes"
-INITSTRING="ATZ"
-DEFROUTE="yes"
-HARDFLOWCTL="yes"
-ESCAPECHARS="no"
-PPPOPTIONS=""
-PAPNAME="$toreplace{papname}"
-REMIP=""
-NETMASK=""
-IPADDR=""
-MRU=""
-MTU=""
-DISCONNECTTIMEOUT="5"
-RETRYTIMEOUT="60"
-BOOTPROTO="none"
-PEERDNS="$toreplace{peerdns}"
-END
- foreach (1..2) {
- if ($toreplace{"dns$_"}) {
- print IFCFG <<END;
-DNS$_=$toreplace{"dns$_"}
-END
- }
- }
- close IFCFG;
-
- #- build chat-ppp0.
- my $chat = "$prefix/etc/sysconfig/network-scripts/chat-ppp0";
- local *CHAT; open CHAT, ">$chat" or die "Can't open $chat";
- print CHAT <<END;
-'ABORT' 'BUSY'
-'ABORT' 'ERROR'
-'ABORT' 'NO CARRIER'
-'ABORT' 'NO DIALTONE'
-'ABORT' 'Invalid Login'
-'ABORT' 'Login incorrect'
-'' 'ATZ'
-END
- if ($modem->{special_command}) {
- print CHAT <<END;
-'OK' '$modem->{special_command}'
-END
- }
- print CHAT <<END;
-'OK' 'ATDT$toreplace{phone}'
-'CONNECT' ''
-END
- if ($modem->{auth} eq 'Terminal-based' || $modem->{auth} eq 'Script-based') {
- print CHAT <<END;
-'ogin:--ogin:' '$toreplace{login}'
-'ord:' '$toreplace{passwd}'
-END
- }
- print CHAT <<END;
-'TIMEOUT' '5'
-'~--' ''
-END
- close CHAT;
- chmod 0600, $chat;
-
- if ($modem->{auth} eq 'PAP' || $modem->{auth} eq 'CHAP') {
- #- need to create a secrets file for the connection.
- my $secrets = "$prefix/etc/ppp/" . lc($modem->{auth}) . "-secrets";
- my @l = cat_($secrets);
- my $replaced = 0;
- do { $replaced ||= 1
- if s/^\s*"?$toreplace{login}"?\s+ppp0\s+(\S+)/"$toreplace{login}" ppp0 "$toreplace{passwd}"/; } foreach @l;
- if ($replaced) {
- local *F;
- open F, ">$secrets" or die "Can't open $secrets: $!";
- print F @l;
- } else {
- local *F;
- open F, ">>$secrets" or die "Can't open $secrets: $!";
- print F "$toreplace{login} ppp0 \"$toreplace{passwd}\"\n";
- }
- #- restore access right to secrets file, just in case.
- chmod 0600, $secrets;
- }
-
- #- install kppprc file according to used configuration.
- commands::mkdir_("-p", "$prefix/usr/share/config");
- local *KPPPRC;
- open KPPPRC, ">$prefix/usr/share/config/kppprc" or die "Can't open $prefix/usr/share/config/kppprc: $!";
- #chmod 0600, "$prefix/usr/share/config/kppprc";
- print KPPPRC <<END;
-# KDE Config File
-[Account0]
-ExDNSDisabled=0
-AutoName=0
-ScriptArguments=
-AccountingEnabled=0
-DialString=ATDT
-Phonenumber=$toreplace{phone}
-IPAddr=0.0.0.0
-Domain=$toreplace{domain}
-Name=$toreplace{connection}
-VolumeAccountingEnabled=0
-pppdArguments=
-Password=$toreplace{passwd}
-BeforeDisconnect=
-Command=
-ScriptCommands=
-Authentication=$toreplace{kpppauth}
-DNS=$toreplace{dnsserver}
-SubnetMask=0.0.0.0
-AccountingFile=
-DefaultRoute=1
-Username=$toreplace{login}
-Gateway=0.0.0.0
-StorePassword=1
-DisconnectCommand=
-[Modem]
-BusyWait=0
-Enter=CR
-FlowControl=CRTSCTS
-Volume=0
-Timeout=60
-UseCDLine=0
-UseLockFile=1
-Device=/dev/modem
-Speed=115200
-[Graph]
-InBytes=0,0,255
-Text=0,0,0
-Background=255,255,255
-Enabled=true
-OutBytes=255,0,0
-[General]
-QuitOnDisconnect=0
-ShowLogWindow=0
-DisconnectOnXServerExit=1
-DefaultAccount=$toreplace{connection}
-iconifyOnConnect=1
-Hint_QuickHelp=0
-AutomaticRedial=0
-PPPDebug=0
-NumberOfAccounts=1
-ShowClock=1
-DockIntoPanel=0
-pppdTimeout=30
-END
-
- miscellaneousNetwork($prefix);
-}
-
-sub miscellaneousNetwork {
- my ($prefix) = @_;
- setVarsInSh ("$prefix/etc/profile.d/proxy.sh", $::o->{miscellaneous}, qw(http_proxy ftp_proxy));
- setVarsInCsh("$prefix/etc/profile.d/proxy.csh", $::o->{miscellaneous}, qw(http_proxy ftp_proxy));
+sub ask_user {
+ my ($in, $users, $security, %options) = @_;
+
+ ask_user_and_root($in, undef, $users, $security, %options);
}
-sub setup_thiskind {
- my ($in, $type, $auto, $at_least_one) = @_;
+sub is_xguest_installed() {
+ -e "$::prefix/etc/security/namespace.d/xguest.conf";
+}
- my @l = setup_thiskind_backend ($type, $auto, $at_least_one, sub { my $w = wait_load_module($in, $type, @_); } );
+sub ask_user_and_root {
+ my ($in, $superuser, $users, $security, %options) = @_;
- if (!$::noauto) {
- if (my @err = grep { $_ } map { $_->{error} } @l) {
- $in->ask_warn('', join("\n", @err));
- }
- return @l if $auto && (@l || !$at_least_one);
- }
- @l = map { $_->{description} } @l;
- while (1) {
- (my $msg_type = $type) =~ s/\|.*//;
- my $msg = @l ?
- [ _("Found %s %s interfaces", join(", ", @l), $msg_type),
- _("Do you have another one?") ] :
- _("Do you have any %s interfaces?", $msg_type);
-
- my $opt = [ __("Yes"), __("No") ];
- push @$opt, __("See hardware info") if $::expert;
- my $r = "Yes";
- $r = $in->ask_from_list_('', $msg, $opt, "No") || die 'already displayed' unless $at_least_one && @l == 0;
- if ($r eq "No") { return @l }
- if ($r eq "Yes") {
- push @l, load_module($in, $type) || next;
- } else {
- $in->ask_warn('', [ detect_devices::stringlist() ]);
- }
+ 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"),
+ rpm => N("access to rpm tools"),
+ wheel => N("allow \"su\""),
+ adm => N("access to administrative files"),
+ ntools => N("access to network tools"),
+ ctools => N("access to compilation tools"),
+ );
+
+ 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;
}
-}
-# setup_thiskind_backend : setup the kind of hardware
-# input :
-# $type : typeof hardware to setup
-# $auto : automatic behaviour
-# $at_least_one :
-# output:
-# @l : list of loaded
-sub setup_thiskind_backend {
- my ($type, $auto, $at_least_one, $wait_function) = @_;
- #- for example $wait_function=sub { $w = wait_load_module($in, $type, @_) }
+ $u->{groups} = [ grep { $groups{$_} } keys %groups ];
+ push @$users, $u if $u->{name};
+
+ $ret && $u;
+}
+
+sub sessions() {
my @l;
- if (!$::noauto) {
- @l = modules::load_thiskind($type, $wait_function );
- return @l;# sorry to be a sucker, pixel... :)
- }
-}
-
-sub wait_load_module {
- my ($in, $type, $text, $module) = @_;
-#-PO: the first %s is the card type (scsi, network, sound,...)
-#-PO: the second is the vendor+model name
- $in->wait_message('',
- [ _("Installing driver for %s card %s", $type, $text),
- if_($::expert, _("(module %s)", $module))
- ]);
-}
-
-sub load_module {
- my ($in, $type) = @_;
- my @options;
-
- (my $msg_type = $type) =~ s/\|.*//;
- my $m = $in->ask_from_listf('',
-#-PO: the %s is the driver type (scsi, network, sound,...)
- _("Which %s driver should I try?", $msg_type),
- \&modules::module2text,
- [ modules::module_of_type($type) ]) or return;
- my $l = modules::module2text($m);
- require modparm;
- my @names = modparm::get_options_name($m);
-
- if ((@names != 0) && $in->ask_from_list_('',
-_("In some cases, the %s driver needs to have extra information to work
-properly, although it normally works fine without. Would you like to specify
-extra options for it or allow the driver to probe your machine for the
-information it needs? Occasionally, probing will hang a computer, but it should
-not cause any damage.", $l),
- [ __("Autoprobe"), __("Specify options") ], "Autoprobe") ne "Autoprobe") {
- ASK:
- if (@names >= 0) {
- my @l = $in->ask_from_entries('',
-_("You may now provide its options to module %s.", $l),
- \@names) or return;
- @options = modparm::get_options_result($m, @l);
- } else {
- @options = split ' ',
- $in->ask_from_entry('',
-_("You may now provide its options to module %s.
-Options are in format ``name=value name2=value2 ...''.
-For instance, ``io=0x300 irq=7''", $l),
- _("Module options:"),
- );
- }
- }
- eval {
- my $w = wait_load_module($in, $type, $l, $m);
- log::l("user asked for loading module $m (type $type, desc $l)");
- modules::load($m, $type, @options);
- };
- if ($@) {
- $in->ask_yesorno('',
-_("Loading module %s failed.
-Do you want to try again with other parameters?", $l), 1) or return;
- goto ASK;
+ 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;
+ @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';
-sub ask_users {
- my ($prefix, $in, $users, $security) = @_;
+ 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 $u if 0; $u ||= {};
+ 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 @shells = map { chomp; $_ } cat_("$prefix/etc/shells");
- my @icons = facesnames($prefix);
+ my $log_file = '/root/drakx/updates.log';
+ my $val = run_program::rooted($::prefix, $binary, '>>', $log_file, '2>>', $log_file, @options);
- while (1) {
- $u->{password2} ||= $u->{password} ||= '';
- $u->{shell} ||= '/bin/bash';
- my $names = @$users ? _("(already added %s)", join(", ", map { $_->{realname} || $_->{name} } @$users)) : '';
+ undef $wait;
+ $val;
+}
- my $verif = sub {
- $u->{password} eq $u->{password2} or $in->ask_warn('', [ _("The passwords do not match"), _("Please try again") ]), return (1,2);
- $security > 3 && length($u->{password}) < 6 and $in->ask_warn('', _("This password is too simple")), return (1,2);
- $u->{name} or $in->ask_warn('', _("Please give a user name")), return (1,0);
- $u->{name} =~ /^[a-z0-9_-]+$/ or $in->ask_warn('', _("The user name must contain only lower cased letters, numbers, `-' and `_'")), return (1,0);
- member($u->{name}, map { $_->{name} } @$users) and $in->ask_warn('', _("This user name is already added")), return (1,0);
- return 0;
- };
- my $ret = $in->ask_from_(
- { title => _("Add user"),
- messages => _("Enter a user\n%s", $names),
- ok => _("Accept user"),
- cancel => $security < 4 || @$users ? _("Done") : '',
- callbacks => {
- focus_out => sub {
- if ($_[0] eq 0) {
- $u->{name} ||= lc first($u->{realname} =~ /((\w|-)+)/);
- }
- },
- complete => $verif,
- canceled => sub { $u->{name} ? &$verif : 0; },
- } }, [
- { label => _("Real name"), val => \$u->{realname} },
- { label => _("User name"), val => \$u->{name} },
- { label => _("Password"),val => \$u->{password}, hidden => 1 },
- { label => _("Password (again)"), val => \$u->{password2}, hidden => 1 },
- { label => _("Shell"), val => \$u->{shell}, list => [ shells($prefix) ], not_edit => !$::expert, advanced => 1 },
- if_($security <= 3 && @icons,
- { label => _("Icon"), val => \$u->{icon}, list => \@icons, icon2f => sub { face2png($_[0], $prefix) }, format => \&translate },
- ),
- ],
- );
-
- push @$users, $u if $u->{name};
- $u = {};
- $ret or return;
+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 {
- my ($prefix, $o, $in) = @_;
+ my ($o, $in) = @_;
- my $cmd = $prefix ? "chroot $prefix" : "";
- my @wm = (split (' ', `$cmd /usr/sbin/chksession -l 2>/dev/null`));
+ my @wm = sessions();
my @users = map { $_->{name} } @{$o->{users} || []};
- if (@wm && @users && !$o->{authentication}{NIS} && $o->{security} <= 2) {
- add2hash_($o, { autologin => $users[0] });
+ 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;
$in->ask_from_(
- { title => _("Autologin"),
- messages => _("I can set up your computer to automatically log on one user.
-Do you want to use this feature?"),
- ok => _("Yes"),
- cancel => _("No") },
- [ { label => _("Choose the default user:"), val => \$o->{autologin}, list => [ '', @users ] },
- { label => _("Choose the window manager to run:"), val => \$o->{desktop}, list => \@wm } ]
- )
- or delete $o->{autologin};
+ { title => N("Autologin"),
+ messages => N("I can set up your computer to automatically log on one user.") },
+ [ { 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 }, format => \&format_wm } ]
+ );
+ delete $o->{autologin} if !$use_autologin;
+ } else {
+ delete $o->{autologin};
}
}
-sub selectLanguage {
- my ($in, $lang, $langs) = @_;
- $in->ask_from_(
- { messages => _("Please, choose a language to use."),
- advanced_messages => _("You can choose other languages that will be available after install"),
- callbacks => {
- focus_out => sub { $langs->{$lang} = 1 },
- },
- },
- [ { val => \$lang, separator => '|',
- format => \&lang::lang2text, list => [ lang::list() ] },
- (map {;
- { val => \$langs->{$_->[0]}, type => 'bool', disabled => sub { $langs->{all} },
- text => $_->[1], advanced => 1,
- }
- } sort { $a->[1] cmp $b->[1] } map { [ $_, lang::lang2text($_) ] } lang::list()),
- { val => \$langs->{all}, type => 'bool', text => _("All"), advanced => 1 }
- ]) or return;
- $lang;
-}
-
-sub write_passwd_user {
- my ($prefix, $u, $isMD5) = @_;
-
- local $u->{pw} = $u->{pw} || $u->{password} && &crypt($u->{password}, $isMD5);
- $u->{shell} ||= '/bin/bash';
+sub display_release_notes {
+ my ($in, $release_notes) = @_;
+ if (!$in->isa('interactive::gtk')) {
+ $in->ask_from_({ title => N("Release Notes"),
+ messages => $release_notes,
+ }, [ {} ]);
+ return;
+ }
- 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";
+ 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;
+}
+
+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 runlevel {
- my ($prefix, $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;
+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 $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 {
- cat_($f) =~ /^id:(\d):initdefault:\s*$/ && $1;
+ # when refusing license in finish-install:
+ exec("/bin/reboot");
}
}
-sub to_utf8 { c::iconv($_[0], $lang::charset || 'ISO-8859-1', "utf-8") }
+sub selectLanguage_install {
+ my ($in, $locale) = @_;
-sub report_bug {
- my ($prefix, @other) = @_;
+ 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 { $_[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();
+
+ 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));
+ }
+
+ 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.", 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]}" }),
+ 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
+ $locale->{lang} = $listval2val->($lang);
+ lang::lang_changed($locale);
+}
+
+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 ($in, $locale) = @_;
+
+ my $country = $locale->{country};
+ 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 = ();
- sub header { "
+ 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.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, changed => sub { $other = 0 } }),
+ { val => \$ext_country, type => 'list', format => \&lang::c2name,
+ 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 set_login_serial_console {
+ my ($port, $speed) = @_;
+
+ my $line = "s$port:12345:respawn:/sbin/agetty ttyS$port $speed ansi\n";
+ substInFile { s/^s$port:.*//; $_ = $line if eof } "$::prefix/etc/inittab";
+}
+
+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("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_("/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"),
- header("ddcxinfos"), `$ENV{LD_LOADER} ddcxinfos`,
- header("ddebug.log"), cat_("/tmp/ddebug.log"),
- header("install.log"), cat_("$prefix/root/install.log"),
- header("fstab"), cat_("$prefix/etc/fstab"),
+ 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, $of, $prefix) = @_;
- symlinkf($if, "$prefix/$_") foreach ("dev/$of", "lib/dev-state/$of");
+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;
+
+ 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', $_);
+ }
+}
+
+
+sub fileshare_config {
+ my ($in, $type) = @_; #- $type is 'nfs', 'smb' or ''
+
+ my $file = '/etc/security/fileshare.conf';
+ my %conf = getVarsFromSh($file);
+
+ my @l = (N_("No sharing"), N_("Allow all users"), N_("Custom"));
+ my $restrict = exists $conf{RESTRICT} ? text2bool($conf{RESTRICT}) : 1;
+
+ 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 ? (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 ($custom) {
+ run_program::rooted($::prefix, 'groupadd', '-r', 'fileshare');
+ if ($in->ask_from_no_check(
+ {
+ -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.")
+ }, [])) {
+ run_program::run('userdrake');
+ }
+ }
+}
+
+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);
+ }
+ }
+ ($edid, $vbe);
+}
+
+# FIXME: is buggy regarding multiple sessions
+sub running_window_manager() {
+ 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;
+ return wantarray() ? ($_, @pids) : $_;
+ }
+ 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",
+ 'xfce4-session' => "xfce4-session-logout --logout",
+ 'lxsession' => "lxde-logout",
+ );
+ my $cmd = $h{$wm} or return;
+ 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;
+ my $raw_dev;
+ substInFile {
+ $used = max($used, $1) if m|^\s*/dev/raw/raw(\d+)|;
+ if (eof) {
+ $raw_dev = "raw/raw" . ($used + 1);
+ $_ .= "/dev/$raw_dev /dev/$device\n";
+ }
+ } "$prefix/etc/sysconfig/rawdevices";
+ $raw_dev;
+}
+
+sub config_mtools {
+ my ($prefix) = @_;
+ my $file = "$prefix/etc/mtools.conf";
+ -e $file or return;
+
+ my ($f1, $f2) = detect_devices::floppies_dev();
+ substInFile {
+ s|drive a: file="(.*?)"|drive a: file="/dev/$f1"|;
+ s|drive b: file="(.*?)"|drive b: file="/dev/$f2"| if $f2;
+ } $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});
+
+ 1;
+}
+
+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/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 59fdfeb36..d1d757c3d 100644
--- a/perl-install/bootloader.pm
+++ b/perl-install/bootloader.pm
@@ -1,996 +1,2854 @@
-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 commands;
use detect_devices;
-use partition_table_raw;
+use partition_table::raw;
use run_program;
use modules;
+=head1 SYNOPSYS
-%vga_modes = (
- "Ask at boot" => 'ask',
- "Normal" => 'normal',
- "80x50" => '0x0f01',
- "80x43" => '0x0f02',
- "80x28" => '0x0f03',
- "80x30" => '0x0f04',
- "80x34" => '0x0f05',
- "80x60" => '0x0f06',
- "100x30" => '0x0122',
- "640x480 in 16 bits (FrameBuffer only)" => 785,
- "800x600 in 16 bits (FrameBuffer only)" => 788,
- "1024x768 in 16 bits (FrameBuffer only)" => 791,
- "1280x1024 in 16 bits (FrameBuffer only)" => 794,
-);
-
-my %vga_modes2nb = (
- 'ask' => -3,
- 'normal' => -1,
-#- other entries are identity
-);
-
-
-#-#####################################################################################
-#- 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 {
my ($label, $bootloader) = @_;
- $_->{label} && $_->{label} eq $label and return $_ foreach @{$bootloader->{entries}};
+ $_->{label} && lc(make_label_lilo_compatible($_->{label})) eq lc(make_label_lilo_compatible($label)) and return $_ foreach @{$bootloader->{entries}};
undef;
}
-sub mkinitrd($$$) {
- my ($prefix, $kernelVersion, $initrdImage) = @_;
+=item mkinitrd($kernel_version, $bootloader, $entry, $initrd)
+
+Regenerates kernel's initrd.
- $::testing || -e "$prefix/$initrdImage" and return;
+=cut
- my $loop_boot = loopback::prepare_boot($prefix);
+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');
- run_program::rooted($prefix, "mkinitrd", "-v", "-f", $initrdImage, "--ifneeded", $kernelVersion) or unlink("$prefix/$initrdImage");
+ 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";
+ }
+}
+
+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
- loopback::save_boot($loop_boot);
+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);
- -e "$prefix/$initrdImage" or die "mkinitrd failed";
+ 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;
}
-sub mkbootdisk($$$;$) {
- my ($prefix, $kernelVersion, $dev, $append) = @_;
- modules::load_multi(arch() =~ /sparc/ ? 'romfs' : (), 'loop');
- my @l = qw(mkbootdisk --noprompt);
- push @l, "--appendargs", $append if $append;
- eval { modules::load('vfat') };
- run_program::rooted_or_die($prefix, @l, "--device", "/dev/$dev", $kernelVersion);
+=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/;
}
-sub read($$) {
- my ($prefix, $file) = @_;
+=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;
+ }
+ }
+ }
+
+ # 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};
+
+ $bootloader{method} = cat_($f) =~ /set theme=.*maggy/ ? 'grub2-graphic' : 'grub2';
+ \%bootloader;
+}
+
+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;
+}
+
+
+=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, $v, $f);
- my %b;
- foreach (cat_("$prefix$file")) {
- ($_, $v) = /^\s*(.*?)\s*(?:=\s*(.*?))?\s*$/;
+ my ($e, %b);
+
+ 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;
+ 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 (/^(image|other)$/) {
- push @{$b{entries}}, $e = { type => $_, kernel_or_dev => $v };
+ if ($keyword eq 'title') {
+ push @{$b{entries}}, $e = { label => $v };
+ $global = 0;
+ } elsif ($global) {
+ $b{$keyword} = $v;
+ } else {
+ if ($keyword eq 'kernel') {
+ $e->{type} = 'image';
+ $e->{kernel} = $v;
+ } elsif ($keyword eq 'chainloader') {
+ $e->{type} = 'other';
+ $e->{append} = "";
+ } 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;
+ }
+
+ %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 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;
+ # 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 _parse_extlinux_conf() {
+ my $global = 1;
+ 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{$_} = $v || 1;
+ $b{$keyword} = $v;
} else {
- if ((/map-drive/ .. /to/) && /to/) {
+ 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;
+ -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 ($cmd eq 'disk' && $v =~ /(\S+)\s+bios\s*=\s*(\S+)/) {
+ $b{bios}{$1} = $2;
+ } elsif ($cmd eq 'bios') {
+ $b{bios}{$b{disk}} = $v;
+ } elsif ($cmd eq 'init-message') {
+ $v =~ s/\\n//g;
+ $v =~ s/"//g;
+ $b{'init-message'} = $v;
+ } else {
+ $b{$cmd} = $v eq '' ? 1 : $v;
+ }
+ } else {
+ if (($cmd eq 'map-drive' .. $cmd eq 'to') && $cmd eq 'to') {
$e->{mapdrive}{$e->{'map-drive'}} = $v;
} else {
- $e->{$_} = $v || 1;
+ if ($cmd eq 'initrd') {
+ $v = $filter_file->($v);
+ }
+ $e->{$cmd} = $v || 1;
}
}
}
- delete $b{timeout} unless $b{prompt};
- $_->{append} =~ s/^\s*"?(.*?)"?\s*$/$1/ foreach \%b, @{$b{entries}};
- $b{timeout} = $b{timeout} / 10 if $b{timeout};
- $b{message} = cat_("$prefix$b{message}") if $b{message};
+
+ 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;
+ }
+ }
+
+ # 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 ($hds) = @_;
+ my ($hd) = @_;
- my $type = partition_table_raw::typeOfMBR($hds->[0]{device});
- !$type || member($type, qw(dos dummy lilo grub empty)), !$type;
+ my ($onmbr, $unsafe) = (1, 1);
+
+ if (my $type = partition_table::raw::typeOfMBR($hd->{device})) {
+ if (member($type, qw(dos dummy empty))) {
+ $unsafe = 0;
+ } elsif (!member($type, qw(lilo grub grub2))) {
+ $onmbr = 0;
+ }
+ log::l("bootloader::suggest_onmbr: type $type, onmbr $onmbr, unsafe $unsafe");
+ }
+ ($onmbr, $unsafe);
}
-sub compare_entries ($$) {
+
+=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) = @_;
- my %entries;
- @entries{keys %$a, keys %$b} = ();
- $a->{$_} eq $b->{$_} and delete $entries{$_} foreach keys %entries;
- scalar keys %entries;
+ foreach (uniq(keys %$a, keys %$b)) {
+ 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;
+ } else {
+ next if $a->{$_} eq $b->{$_};
+
+ my ($inode_a, $inode_b) = map { (stat "$::prefix$_")[1] } ($a->{$_}, $b->{$_});
+ next if $inode_a && $inode_b && $inode_a == $inode_b;
+ }
+
+ log::l("entries $a->{label} do not have same $_: $a->{$_} ne $b->{$_}");
+ return;
+ }
+ 1;
}
-sub add_entry($$) {
- my ($entries, $v) = @_;
- my (%usedold, $freeold);
+sub add_entry {
+ my ($bootloader, $v) = @_;
+
+ my $to_add = $v;
+ my $label = $v->{label};
+ for (my $i = 0; $i < 100;) {
+ my $conflicting = get_label($label, $bootloader);
+
+ $to_add->{label} = $label;
+
+ if ($conflicting) {
+ #- replacing $conflicting with $to_add
+ @{$bootloader->{entries}} = map { $_ == $conflicting ? $to_add : $_ } @{$bootloader->{entries}};
- do { $usedold{$1 || 0} = 1 if $_->{label} =~ /^old([^_]*)_/ } foreach @$entries;
- foreach (0..scalar keys %usedold) { exists $usedold{$_} or $freeold = $_ || '', last }
+ #- 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;
+ }
+
+ if (!$conflicting || same_entries($conflicting, $to_add)) {
+ log::l("current labels: " . join(" ", map { $_->{label} } @{$bootloader->{entries}}));
+ return $v;
+ }
+ $to_add = $conflicting;
- foreach (@$entries) {
- if ($_->{label} eq $v->{label}) {
- compare_entries($_, $v) or return; #- avoid inserting it twice as another entry already exists !
- $_->{label} = "old${freeold}_$_->{label}";
+ 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";
}
}
- push @$entries, $v;
+ die 'add_entry';
}
-sub add_kernel($$$$$) {
- my ($prefix, $lilo, $kernelVersion, $specific, $v) = @_;
- my $ext = $specific && "-$specific"; $specific =~ s/\d+\.\d+|hack//;
- my ($vmlinuz, $image, $initrdImage) = ("vmlinuz-$kernelVersion$specific", "/boot/vmlinuz$ext", "/boot/initrd$ext.img");
- -e "$prefix/boot/$vmlinuz" or log::l("unable to find kernel image $prefix/boot/$vmlinuz"), return;
- {
- my $f = "initrd-$kernelVersion$specific.img";
- eval { mkinitrd($prefix, "$kernelVersion$specific", "/boot/$f") };
- undef $initrdImage if $@;
- symlinkf $f, "$prefix$initrdImage" or $initrdImage = "/boot/$f"
- if $initrdImage;
+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;
+
+ #- 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;
+ }
+}
+
+sub _do_the_symlink {
+ my ($bootloader, $link, $long_name) = @_;
+
+ 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");
+ }
+
+ #- changing the symlink
+ symlinkf($long_name, "$::prefix$link")
+ or cp_af("$::prefix/boot/$long_name", "$::prefix$link");
+}
+
+# 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';
}
- symlinkf "$vmlinuz", "$prefix/$image" or $image = "/boot/$vmlinuz";
+
add2hash($v,
{
type => 'image',
- label => 'linux',
- kernel_or_dev => $image,
- initrd => $initrdImage,
- append => $lilo->{perImageAppend},
+ label => kernel_str2label($kernel_str),
});
- add_entry($lilo->{entries}, $v);
- $v;
+
+ #- 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) = @_;
+
+ get_label($new_label, $bootloader) and return;
+
+ my $entry = { %{ get_label('linux', $bootloader) }, label => $new_label };
+ add_entry($bootloader, $entry);
+}
+
+my $uniq_dict_appends = join('|', qw(acpi pci resume PROFILE XFree));
+
+sub unpack_append {
+ my ($s) = @_;
+ my @l = "$s " =~ /((?:[^"\s]+|".*?")*)\s+/g;
+ [ grep { !/=/ } @l ], [ map { if_(/(.*?)=(.*)/, [$1, $2]) } @l ];
+}
+sub pack_append {
+ my ($simple, $dict) = @_;
+
+ #- normalize
+ $simple = [ reverse(uniq(reverse @$simple)) ];
+ $dict = [ reverse(uniq_ {
+ my ($k, $v) = @$_;
+ $k =~ /^($uniq_dict_appends)$/ ? $k : "$k=$v";
+ } reverse @$dict) ];
+
+ join(' ', @$simple, map { "$_->[0]=$_->[1]" } @$dict);
+}
+
+sub modify_append {
+ my ($b, $f) = @_;
+
+ 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 {
+sub get_append_simple {
my ($b, $key) = @_;
- ($b->{perImageAppend} =~ /\b$key=(\S*)/)[0];
+ my ($simple, $_dict) = unpack_append($b->{perImageAppend});
+ member($key, @$simple);
}
-sub add_append {
+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 {
+ my ($simple, $_dict) = @_;
+ @$simple = grep { $_ ne $key } @$simple;
+ });
+}
+sub set_append_with_key {
my ($b, $key, $val) = @_;
- foreach ({ append => $b->{perImageAppend} }, @{$b->{entries}}) {
- $_->{append} =~ s/\b$key=\S*\s*//;
- $_->{append} =~ s/\s*$/ $key=$val)/ if $val;
+ modify_append($b, sub {
+ my ($_simple, $dict) = @_;
+
+ if ($val eq '') {
+ @$dict = grep { $_->[0] ne $key } @$dict;
+ } else {
+ push @$dict, [ $key, $val ];
+ }
+ });
+}
+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_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 ($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));
}
}
-sub configure_entry($$) {
- my ($prefix, $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;
+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);
+}
- if ($specific_version) {
- $entry->{initrd} or $entry->{initrd} = "/boot/initrd-$specific_version.img";
- unless (-e "$prefix/$entry->{initrd}") {
- eval { mkinitrd($prefix, $specific_version, "$entry->{initrd}") };
- undef $entry->{initrd} if $@;
- }
+sub get_kernels_and_labels() {
+ get_kernel_labels([ installed_vmlinuz() ]);
+}
+
+sub get_kernel_labels {
+ my ($kernels) = @_;
+
+ 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_str) {
+ if ($labels{$_->{ext}}) {
+ $_->{use_long_name} = 1;
+ } else {
+ $labels{$_->{ext}} = 1;
}
}
- $entry;
+
+ $kernels_str[0]{ext} = '';
+
+ @kernels_str;
}
-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 short_ext {
+ my ($kernel_str) = @_;
+
+ my $short_ext = {
+ 'xen0' => 'xen',
+ }->{$kernel_str->{ext}};
+
+ $short_ext || $kernel_str->{ext};
}
-sub suggest {
- my ($prefix, $lilo, $hds, $fstab, $kernelVersion, $vga_fb) = @_;
- 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*)/);
+sub _sanitize_ver {
+ my ($kernel_str) = @_;
- require c; c::initSilo() if arch() =~ /sparc/;
+ my $name = $kernel_str->{basename};
+ $name = '' if $name eq 'vmlinuz';
- my ($onmbr, $unsafe) = $lilo->{crushMbr} ? (1, 0) : suggest_onmbr($hds);
- add2hash_($lilo, arch() =~ /sparc/ ?
- {
- default => "linux",
- entries => [],
- timeout => 5,
- 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",
- default => "linux",
- entries => [],
- initmsg => "Welcome to Mandrake Linux!",
- delay => 30, #- OpenFirmware delay
- timeout => 50,
- enableofboot => 1,
- enablecdboot => 1,
- useboot => $boot,
- } :
- {
- bootUnsafe => $unsafe,
- default => "linux",
- entries => [],
- timeout => $onmbr && 5,
- if_(arch() !~ /ia64/,
- lba32 => 1,
- boot => "/dev/" . ($onmbr ? $hds->[0]{device} : fsedit::get_root($fstab, 'boot')->{device}),
- map => "/boot/map",
- install => "/boot/boot.b",
- ),
- });
+ 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)
- if (!$lilo->{message} || $lilo->{message} eq "1") {
- $lilo->{message} = join('', cat_("$prefix/boot/message"));
- if (!$lilo->{message}) {
- my $msg_en =
+Provides a description text for Lilo
+
+=cut
+
+sub suggest_message_text {
+ my ($bootloader) = @_;
+
+ 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)
-__("Welcome to %s the operating system chooser!
+N_("Welcome to the operating system chooser!
-Choose an operating system in the list above or
-wait %d seconds for default boot.
+Choose an operating system from the list above or
+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;
- $lilo->{message} = sprintf $msg, arch() =~ /sparc/ ? "SILO" : "LILO", $lilo->{timeout};
+ my $msg = translate($msg_en);
+ #- 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);
+ }
- add2hash_($lilo, { getVarsFromSh("$prefix/etc/sysconfig/system") }); #- for CLEAN_TMP
- add2hash_($lilo, { memsize => $1 }) if cat_("/proc/cmdline") =~ /mem=(\S+)/;
+ 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'
+ });
- #- give more priority to secure kernel because if the user want security, he will got it...
- my $isSecure = -e "$prefix/boot/vmlinuz-${kernelVersion}secure";
- my $isEnterprise = -e "$prefix/boot/vmlinuz-${kernelVersion}enterprise";
+ suggest_message_text($bootloader);
- my $isSMP = detect_devices::hasSMP();
- if ($isSMP && !-e "$prefix/boot/vmlinuz-${kernelVersion}smp") {
- log::l("SMP machine, but no SMP kernel found") unless $isSecure;
- $isSMP = 0;
+ 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_with_key($bootloader, console => $s);
+ any::set_login_serial_console($port, $speed);
}
- my $entry = add_kernel($prefix, $lilo, $kernelVersion,
- $isSecure ? 'secure' : $isEnterprise ? 'enterprise' : $isSMP ? 'smp' : '',
- {
- label => 'linux',
- root => "/dev/$root",
- if_($vga_fb, vga => $vga_fb), #- using framebuffer
- });
- add_kernel($prefix, $lilo, $kernelVersion, '',
- {
- label => $isSecure || $isEnterprise || $isSMP ? 'linux-up' : 'linux-nonfb',
- root => "/dev/$root",
- }) if $isSecure || $isEnterprise || $isSMP || $vga_fb;
- my $failsafe = add_kernel($prefix, $lilo, $kernelVersion, '',
+
+ 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;
+
+ #- 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;
+
+ foreach my $kernel (@kernels) {
+ my $e = add_kernel($bootloader, $kernel,
{
- label => 'failsafe',
- root => "/dev/$root",
+ 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} .= " quiet" if $vga_fb;
- $failsafe->{append} .= " failsafe" if $failsafe && !$lilo->{password};
-
- #- manage prioritary default kernel (given as /boot/vmlinuz-default).
- if (-e "$prefix/boot/vmlinuz-default") {
- #- we use directly add_entry as no initrd should be done.
- add_entry($lilo->{entries},
- {
- type => 'image',
- label => 'default',
- root => "/dev/$root",
- kernel_or_dev => '/boot/vmlinuz-default',
- append => $lilo->{perImageAppend},
- });
- $lilo->{default} = 'default'; #- this one should be booted by default now.
- }
-
- #- manage older kernel if installed.
- foreach (qw(2.2 hack)) {
- my $hasOld = -e "$prefix/boot/vmlinuz-$_";
- if ($hasOld) {
- my $oldVersion = first(readlink("$prefix/boot/vmlinuz-$_") =~ /vmlinuz-(.*mdk)/);
- my $oldSecure = -e "$prefix/boot/vmlinuz-${_}secure";
- my $oldSMP = $isSMP && -e "$prefix/boot/vmlinuz-${_}smp";
-
- add_kernel($prefix, $lilo, $oldVersion, $oldSecure ? "${_}secure" : $oldSMP ? "${_}smp" : $_,
- {
- label => "linux-$_",
- root => "/dev/$root",
- $vga_fb ? ( vga => $vga_fb) : (), #- using framebuffer
- });
- add_kernel($prefix, $lilo, $oldVersion, $_,
- {
- label => $oldSecure || $oldSMP ? "linux-${_}up" : "linux-${_}nonfb",
- root => "/dev/$root",
- }) if $oldSecure || $oldSMP || $vga_fb;
- my $entry = add_kernel($prefix, $lilo, $oldVersion, $_,
- {
- label => "failsafe-$_",
- root => "/dev/$root",
- });
- $entry->{append} .= " failsafe" if $entry && !$lilo->{password};
- }
- }
-
- 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($lilo->{entries},
- {
- type => 'other',
- kernel_or_dev => $path,
- label => "sunos" . ($sunos++ ? $sunos : ''),
- }) if $path && isSunOS($_) && type2name($_->{type}) =~ /root/i;
- }
+
+ if ($options{vga_fb} && $e->{label} eq 'linux') {
+ add_kernel($bootloader, $kernel, { root => $root, label => 'linux-nonfb' });
}
- } elsif (arch() =~ /ppc/) {
- #- if we identified a MacOS partition earlier - add it
- if (defined $partition_table_mac'macos_part) {
- add_entry($lilo->{entries},
+ }
+
+ 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,
});
- }
- } else {
- #- search for dos (or windows) boot partition. Don't look in extended partitions!
- my %nbs;
- foreach (@$hds) {
- foreach (@{$_->{primary}{normal}}) {
- my $label = isNT($_) ? 'NT' : isDos($_) ? 'dos' : 'windows';
- add_entry($lilo->{entries},
- {
- type => 'other',
- kernel_or_dev => "/dev/$_->{device}",
- label => $label . ($nbs{$label}++ ? $nbs{$label} : ''),
- table => "/dev/$_->{rootDevice}",
- unsafe => 1
- }) if isNT($_) || isFat($_) && isFat({ type => fsedit::typeOfPart($_->{device}) });
- }
- }
+ } @windows_boot_parts;
+
+ my @preferred = map { "linux-$_" } 'server';
+ if (my $preferred = find { get_label($_, $bootloader) } @preferred) {
+ $bootloader->{default} ||= $preferred;
}
- my %l = (
- yaboot => to_bool(arch() =~ /ppc/),
- silo => to_bool(arch() =~ /sparc/),
- lilo => to_bool(arch() !~ /sparc|ppc/) && !isLoopback(fsedit::get_root($fstab)),
- grub => to_bool(arch() !~ /sparc|ppc/ && !isRAID(fsedit::get_root($fstab)) && availableRamMB() < 800), #- don't use grub if more than 800MB
- loadlin => to_bool(arch() !~ /sparc|ppc/) && -e "/initrd/loopfs/lnx4win",
- );
- unless ($lilo->{methods}) {
- $lilo->{methods} ||= { map { $_ => 1 } grep { $l{$_} } keys %l };
- if ($lilo->{methods}{lilo} && -e "$prefix/boot/lilo-graphic") {
- $lilo->{methods}{lilo} = "lilo-graphic";
- exists $lilo->{methods}{grub} and $lilo->{methods}{grub} = undef;
+ $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);
+ }
}
}
}
-sub suggest_floppy {
- my ($bootloader) = @_;
+sub detect_main_method {
+ my ($all_hds) = @_;
+ my $bootloader = &read($all_hds);
+ $bootloader && main_method($bootloader->{method});
+}
- my $floppy = detect_devices::floppy() or return;
- $floppy eq 'fd0' or log::l("suggest_floppy: not adding $floppy"), return;
+sub main_method {
+ my ($method) = @_;
+ $method =~ /(\w+)/ && $1;
+}
- add_entry($bootloader->{entries},
- {
- type => 'other',
- kernel_or_dev => '/dev/fd0',
- label => 'floppy',
- unsafe => 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',
+ );
+
+ map_each {
+ my $content = cat_("$::prefix/$::b");
+ { main_method => main_method($::a), name => $::a, file => $::b, content => $content };
+ } %files;
}
-sub keytable($$) {
- my ($prefix, $f) = @_;
- local $_ = $f;
- if ($_ && !/\.klt$/) {
- $f = "/boot/$_.klt";
- run_program::rooted($prefix, "keytab-lilo.pl", ">", $f, $_) or undef $f;
- }
- $f && -r "$prefix/$f" && $f;
+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 has_profiles { 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}};
- }
- }
+=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'),
+ ));
}
-sub get_of_dev($$) {
- my ($prefix, $unix_dev) = @_;
- #- don't care much for this - need to run ofpath rooted, and I need the result
- #- In test mode, just run on "/", otherwise you can't get to the /proc files
- if ($::testing) {
- $prefix = "";
- }
- run_program::rooted_or_die($prefix, "/usr/local/sbin/ofpath $unix_dev", ">", "/tmp/ofpath");
- open(FILE, "$prefix/tmp/ofpath") || die "Can't open $prefix/tmp/ofpath";
- my $of_dev = "";
- local $_ = "";
- while (<FILE>){
- $of_dev = $_;
- }
- chop($of_dev);
- my @del_file = ($prefix . "/tmp/ofpath");
- unlink (@del_file);
- log::l("OF Device: $of_dev");
- $of_dev;
+=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.
+
+=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);
}
-sub install_yaboot($$$) {
- my ($prefix, $lilo, $fstab, $hds) = @_;
- $lilo->{prompt} = $lilo->{timeout};
+=item main_method_choices($b_prefix_mounted)
- if ($lilo->{message}) {
- local *F;
- open F, ">$prefix/boot/message" and print F $lilo->{message} or $lilo->{message} = 0;
- }
- {
- local *F;
- local $\ = "\n";
- my $f = "$prefix/etc/yaboot.conf";
- 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$lilo->{initmsg}\\n\"" if $lilo->{initmsg};
-
- if ($lilo->{boot}) {
- print F "boot=$lilo->{boot}";
- my $of_dev = get_of_dev($prefix, $lilo->{boot});
- print F "ofboot=$of_dev";
- } else {
- die "no bootstrap partition defined."
- }
-
- $lilo->{$_} and print F "$_=$lilo->{$_}" foreach qw(delay timeout);
- print F "install=/usr/local/lib/yaboot/yaboot";
- print F "magicboot=/usr/local/lib/yaboot/ofboot";
- $lilo->{$_} and print F $_ foreach qw(enablecdboot enableofboot);
- $lilo->{$_} and print F "$_=$lilo->{$_}" foreach qw(defaultos default);
- print F "nonvram";
- my $boot = "/dev/" . $lilo->{useboot} if $lilo->{useboot};
-
- foreach (@{$lilo->{entries}}) {
+Returns list of supported bootloaders, not distinging text/gfx mode.
- if ($_->{type} eq "image") {
- my $of_dev = '';
- if ($boot !~ /$_->{root}/) {
- $of_dev = get_of_dev($prefix, $boot);
- print F "$_->{type}=$of_dev," . substr($_->{kernel_or_dev}, 5);
- } else {
- $of_dev = get_of_dev($prefix, $_->{root});
- print F "$_->{type}=$of_dev,$_->{kernel_or_dev}";
- }
- print F "\tlabel=", substr($_->{label}, 0, 15); #- lilo doesn't handle more than 15 char long labels
- print F "\troot=$_->{root}";
- if ($boot !~ /$_->{root}/) {
- print F "\tinitrd=$of_dev," . substr($_->{initrd}, 5) if $_->{initrd};
- } else {
- print F "\tinitrd=$of_dev,$_->{initrd}" if $_->{initrd};
- }
- 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($prefix, $_->{kernel_or_dev});
- print F "$_->{label}=$of_dev";
- }
- }
- }
- log::l("Installing boot loader...");
- my $f = "$prefix/tmp/of_boot_dev";
- my $of_dev = get_of_dev($prefix, $lilo->{boot});
- output($f, "$of_dev\n");
- $::testing and return;
- if (defined $install_steps_interactive::new_bootstrap) {
- run_program::run("hformat", "$lilo->{boot}") or die "hformat failed";
- }
- run_program::rooted($prefix, "/sbin/ybin", "2>", "/tmp/.error") or die "ybin failed";
- unlink "$prefix/tmp/.error";
-}
-
-sub install_silo($$$) {
- my ($prefix, $silo, $fstab) = @_;
- my $boot = fsedit::get_root($fstab, 'boot')->{device};
- my ($wd, $num) = $boot =~ /^(.*\D)(\d*)$/;
-
- #- 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");
+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;
+
+ if ($f !~ /\.klt$/) {
+ my $file = "/boot/$f.klt";
+ run_program::rooted($::prefix, "keytab-lilo.pl", ">", $file, $f) or return;
+ $f = $file;
}
- c::hasAliases() or log::l("clearing promvars alias as non supported"), $silo->{bootalias} = '';
+ -r "$::prefix/$f" && $f;
+}
+
+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 install_uboot {
+ my ($bootloader, $all_hds) = @_;
+ write_uboot($bootloader, $all_hds);
+ when_config_changed_uboot($bootloader);
+}
- if ($silo->{message}) {
- local *F;
- open F, ">$prefix/boot/message" and print F $silo->{message} or $silo->{message} = 0;
+sub _write_extlinux_conf {
+ my ($bootloader, $_all_hds) = @_;
+
+ 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 *F;
- 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.
- 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}; #- 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'};
- }
- }
+
+ 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...");
- $::testing and return;
- run_program::rooted($prefix, "silo", "2>", "/tmp/.error", $silo->{use_partition} ? ("-t") : ()) or
- run_program::rooted($prefix, "silo", "2>", "/tmp/.error", "-p", "2", $silo->{use_partition} ? ("-t") : ()) or
- die "silo failed";
- unlink "$prefix/tmp/.error";
- #- try writing in the prom.
- log::l("setting promvars alias=$silo->{bootalias} bootdev=$silo->{bootdev}");
- require c;
- c::setPromVars($silo->{bootalias}, $silo->{bootdev});
+ 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 write_lilo_conf {
- my ($prefix, $lilo, $fstab, $hds) = @_;
- $lilo->{prompt} = $lilo->{timeout};
+sub write_uboot {
+ my ($bootloader, $all_hds) = @_;
+ _write_extlinux_conf($bootloader, $all_hds);
+}
+
+sub when_config_changed_uboot {
+ my ($_bootloader) = @_;
+ #- do not do anything
+}
+
+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
+}
+
+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) = @_;
+ '"' . simplify_label($label) . '"';
+}
+
+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($prefix, $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);
- %hds->{$part->{device}} . ":" . $file;
+ 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;
}
};
- if ($lilo->{message}) {
- local *F;
- -d "$prefix/boot/lilo-menu" and open F, ">$prefix/boot/lilo-menu/message" and print F $lilo->{message};
- -d "$prefix/boot/lilo-text" and open F, ">$prefix/boot/lilo-text/message" and print F $lilo->{message};
- -d "$prefix/boot/lilo-graphic" || -d "$prefix/boot/lilo-menu" || -d "$prefix/boot/lilo-text" or
- open F, ">$prefix/boot/message" and print F $lilo->{message}; #- fallback in case of another lilo.
+ my $quotes = sub {
+ my ($s) = @_;
+ $s =~ s/"/\\"/g;
+ qq("$s");
+ };
+
+ my $quotes_if_needed = sub {
+ my ($s) = @_;
+ $s =~ /["=\s]/ ? $quotes->($s) : $s;
+ };
+
+
+ my @sorted_hds = sort_hds_according_to_bios($bootloader, $all_hds);
+
+ 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' };
}
- foreach ($lilo->{methods}{lilo}, "lilo-menu", "lilo-graphic", "lilo-text") {
- if (-e "$prefix/boot/$_/boot.b" && -e "$prefix/boot/$_/message") {
- symlinkf $_, "$prefix/boot/lilo";
- symlinkf "lilo/boot.b", "$prefix/boot/boot.b";
- symlinkf "lilo/message", "$prefix/boot/message";
- log::l("stage2 of lilo used is " . readlink "$prefix/boot/lilo");
- last;
- }
+
+ my @conf;
+
+ #- 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;
}
- -e "$prefix/boot/boot.b" && -e "$prefix/boot/message" or die "unable to get right lilo configuration in $prefix/boot";
- {
- local *F;
- local $\ = "\n";
- my $f = arch() =~ /ia64/ ? "$prefix/boot/efi/elilo.conf" : "$prefix/etc/lilo.conf";
-
- open F, ">$f" or die "cannot create lilo config file: $f";
- log::l("writing lilo config to $f");
-
- $lilo->{$_} and print F "$_=$lilo->{$_}" foreach qw(boot map install vga default append keytable);
- $lilo->{$_} and print F $_ foreach qw(linear lba32 compact prompt restricted);
- #- print F "password=", $lilo->{password} if $lilo->{restricted} && $lilo->{password}; #- done by msec
- print F "timeout=", round(10 * $lilo->{timeout}) if $lilo->{timeout};
-
- my $dev = $hds->[0]{device};
- my %dev2bios = map_index { $_ => $::i } dev2bios($hds, $lilo->{boot});
- if ($dev2bios{$dev}) {
- my %bios2dev = reverse %dev2bios;
- print F "disk=/dev/$bios2dev{0} bios=0x80";
- printf F "disk=/dev/$dev bios=0x%x", 0x80 + $dev2bios{$dev};
- } elsif ($dev =~ /hd[bde]/) {
- print F "disk=/dev/$dev bios=0x80";
- }
-
- print F "message=/boot/message" if (arch() !~ /ia64/);
- print F "menu-scheme=wb:bw:wb:bw" if (arch() !~ /ia64/);
-
- foreach (@{$lilo->{entries}}) {
- print F "$_->{type}=", $file2fullname->($_->{kernel_or_dev});
- my $label = substr($_->{label}, 0, 15); #- lilo doesn't handle more than 15 char long labels
- $label =~ s/\s/_/g; #- lilo doesn't like spaces
- print F "\tlabel=$label";
-
- if ($_->{type} eq "image") {
- print F "\troot=$_->{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};
+ 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};
+
+ push @conf, "ignore-table" if any { $_->{unsafe} && $_->{table} } @{$bootloader->{entries}};
+
+ push @conf, map_each { "disk=$::a bios=$::b" } %{$bootloader->{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;
+ }
+
+ 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 ($prefix, $lilo, $fstab, $hds) = @_;
+ my ($bootloader, $all_hds) = @_;
- write_lilo_conf($prefix, $lilo, $fstab, $hds);
+ if (my ($install) = $bootloader->{method} =~ /lilo-(text|menu)/) {
+ $bootloader->{install} = $install;
+ } else {
+ delete $bootloader->{install};
+ }
+ 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';
+ }
- log::l("Installing boot loader...");
- $::testing and return;
- run_program::rooted_or_die($prefix, "lilo", "2>", "/tmp/.error") if (arch() !~ /ia64/);
- unlink "$prefix/tmp/.error";
+ #- ensure message does not contain the old graphic format
+ if ($bootloader->{message} && -s "$::prefix$bootloader->{message}" > 65_000) {
+ output("$::prefix$bootloader->{message}", '');
+ }
+
+ write_lilo($bootloader, $all_hds);
+
+ when_config_changed_lilo($bootloader);
+
+ configure_kdm_BootManager('Lilo');
}
-sub dev2bios {
- my ($hds, $where) = @_;
- my @dev = map { $_->{device} } @$hds;
- member($where, @dev) or ($where) = @dev; #- if not on mbr,
+sub install_raw_lilo {
+ my ($o_force_answer) = @_;
- s/h(d[e-g])/x$1/ foreach $where, @dev; #- emulates ultra66 as xd_
+ my $error;
+ my $answer = $o_force_answer || '';
+ run_program::rooted($::prefix, "echo $answer | lilo", '2>', \$error) or die "lilo failed: $error";
+}
- my $start = substr($where, 0, 2);
+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});
+ }
+}
+
+#- 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}));
+}
+
+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';
+}
+
+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 {
- $_ eq $where ? "aaa" : #- if exact match, value it first
- /^$start(.*)/ ? "ad$1" : #- if same class (ide/scsi/ultra66), value it before other classes
- $_;
+ 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}};
+}
- s/x(d.)/h$1/ foreach @dev; #- switch back;
+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) = @_;
- @dev;
+ 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;
+ }
}
-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)) . ")";
+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 write_grub_config {
- my ($prefix, $lilo, $fstab, $hds) = @_;
- my %dev2bios = (
- (map_index { $_ => "fd$::i" } detect_devices::floppies_dev()),
- (map_index { $_ => "hd$::i" } dev2bios($hds, $lilo->{boot})),
- );
+=item parse_grub_file($grub_file)
- {
- 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($prefix, $fstab, $_[0], 'keep_simple_symlinks');
- dev2grub($part->{device}, \%dev2bios) . $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 ($grub_file, $grub2dev, $o_block_device) = @_;
+ first(grub2dev_and_file($grub_file, $grub2dev, $o_block_device));
+}
+
+=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";
+ };
+ if (my $err = $@) {
+ log::l("error while running grub2-set-default: $err");
+ }
+}
+
+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");
+
+ write_grub2_default_entry($bootloader, $o_all_hds, $o_backup_extension);
+ check_enough_space();
+}
+
+sub get_grub2_users() {
+ "$::prefix/boot/grub2/user.cfg";
+}
+
+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));
+}
+
+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->{$_}" } @_ };
+
{
- local *F;
- local $\ = "\n";
- my $f = "$prefix/boot/grub/menu.lst";
- open F, ">$f" or die "cannot create grub config file: $f";
- log::l("writing grub config to $f");
+ my @conf;
- $lilo->{$_} and print F "$_ $lilo->{$_}" foreach qw(timeout);
-
- print F "color black/cyan yellow/cyan";
- print F "i18n ", $file2grub->("/boot/grub/messages");
- print F "keytable ", $file2grub->($lilo->{keytable}) if $lilo->{keytable};
- #- 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;
- }
-
- map_index {
- print F "default $::i" if $_->{label} eq $lilo->{default};
- } @{$lilo->{entries}};
-
- foreach (@{$lilo->{entries}}) {
- print F "\ntitle $_->{label}";
-
- if ($_->{type} eq "image") {
- my $vga = $_->{vga} || $lilo->{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};
+ 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);
- if ($_->{kernel_or_dev} !~ /fd/) {
- #- boot off the second drive, so reverse the BIOS maps
- $_->{mapdrive} ||= { '0x80' => '0x81', '0x81' => '0x80' }
- if $_->{table} && $lilo->{boot} !~ /$_->{table}/;
-
- map_each { print F "map ($::b) ($::a)" } %{$_->{mapdrive} || {}};
-
- print F "makeactive";
+ 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 ($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 ($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 $hd = fsedit::get_root($fstab, 'boot')->{rootDevice};
-
- my $dev = dev2grub($lilo->{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
-__("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
-__("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
-__("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
-__("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
-__("The highlighted entry will be booted automatically in %d seconds."),
-);
-
- my $e = "$prefix/boot/.enough_space";
- output $e, 1; -s $e or die _("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 ($prefix, $lilo, $fstab, $hds) = @_;
+ my ($bootloader, $all_hds) = @_;
+
+ write_grub($bootloader, $all_hds);
- my $f = write_grub_config($prefix, $lilo, $fstab, $hds);
+ if (!$::testing) {
+ 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...");
- $::testing and return;
- symlink "$prefix/boot", "/boot";
- run_program::run("sh", $f) or die "grub installation failed";
- unlink "$prefix/tmp/.error.grub", "/boot";
+ my $error;
+ run_program::rooted($::prefix, "sh", "2>", \$error, '/boot/grub/install.sh') or die "grub failed: $error";
+}
+
+sub when_config_changed_grub2 {
+ my ($_bootloader) = @_;
+ #- do not do anything
}
-sub lnx4win_file {
- my $lilo = shift;
- map { local $_ = $_; s,/,\\,g; "$lilo->{boot_drive}:\\lnx4win$_" } @_;
+sub when_config_changed_grub {
+ my ($_bootloader) = @_;
+ #- do not do anything
+
+ update_copy_in_boot($_) foreach glob($::prefix . boot_copies_dir() . '/*.link');
}
-sub loadlin_cmd {
- my ($prefix, $lilo) = @_;
- my $e = get_label("linux", $lilo) || first(grep { $_->{type} eq "image" } @{$lilo->{entries}});
+sub write_refind {
+ my ($bootloader, $_all_hds, $o_backup_extension) = @_;
- commands::cp("$prefix$e->{kernel_or_dev}", "$prefix/boot/vmlinuz") unless -e "$prefix/boot/vmlinuz";
- commands::cp("$prefix$e->{initrd}", "$prefix/boot/initrd.img") unless -e "$prefix/boot/initrd.img";
+ my @config;
- $e->{label}, sprintf"%s %s initrd=%s root=%s $e->{append}",
- lnx4win_file($lilo, "/loadlin.exe", "/boot/vmlinuz", "/boot/initrd.img"),
- $e->{root} =~ /loop7/ ? "0707" : $e->{root}; #- special to workaround bug in kernel (see #ifdef CONFIG_BLK_DEV_LOOP)
+ 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 install_loadlin {
- my ($prefix, $lilo, $fstab) = @_;
+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;
+}
- my $boot;
- ($boot) = grep { $lilo->{boot} eq "/dev/$_->{device}" } @$fstab;
- ($boot) = grep { loopback::carryRootLoopback($_) } @$fstab unless $boot && $boot->{device_windobe};
- ($boot) = grep { isFat($_) } @$fstab unless $boot && $boot->{device_windobe};
- log::l("loadlin device is $boot->{device} (windobe $boot->{device_windobe})");
- $lilo->{boot_drive} = $boot->{device_windobe};
+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");
+ }
+}
- my ($winpart) = grep { $_->{device_windobe} eq 'C' } @$fstab;
- log::l("winpart is $winpart->{device}");
- my $winhandle = any::inspect($winpart, $prefix, 'rw');
- my $windrive = $winhandle->{dir};
- log::l("windrive is $windrive");
+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";
+ }
- my ($label, $cmd) = loadlin_cmd($prefix, $lilo);
+ #- 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");
- #install_loadlin_config_sys($lilo, $windrive, $label, $cmd);
- #install_loadlin_desktop($lilo, $windrive);
+ 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;
+ }
- output "/initrd/loopfs/lnx4win/linux.bat", unix2dos(
-'@echo off
-echo Mandrake Linux
-smartdrv /C
-' . "$cmd\n");
+ #- 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 install_loadlin_config_sys {
- my ($lilo, $windrive, $label, $cmd) = @_;
+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, $_;
+ }
+ }
- my $config_sys = "$windrive/config.sys";
- local $_ = cat_($config_sys);
- output "$windrive/config.mdk", $_ if $_;
-
- my $timeout = $lilo->{timeout} || 1;
+ 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:
- $_ = "
-[Menu]
-menuitem=Windows
-menudefault=Windows,$timeout
+ $actions->($bootloader, @para)
-[Windows]
-" . $_ if !/^\Q[Menu]/m;
+If needed, the function name will be resolved to call a boot loader specific function (eg: for LILO/GRUB/...)
- #- remove existing entry
- s/^menuitem=$label\s*//mi;
- s/\n\[$label\].*?(\n\[|$)/$1/si;
+This Swiss army knife function is heavily used by eg /sbin/bootloader-config
- #- add entry
- s/(.*\nmenuitem=[^\n]*)/$1\nmenuitem=$label/s;
+=cut
- $_ .= "
-[$label]
-shell=$cmd
-";
- output $config_sys, unix2dos($_);
+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);
}
-sub install_loadlin_desktop {
- my ($lilo, $windrive) = @_;
- my $windir = lc(cat_("$windrive/msdos.sys") =~ /^WinDir=.:\\(\S+)/m ? $1 : "windows");
+=item install($bootloader, $all_hds)
+
+Writes back the boot loader config. Calls the proper write_XYZ() function.
+
+=cut
+
+sub install {
+ my ($bootloader, $all_hds) = @_;
+
+ my ($efivars, $already_mounted) = mount_efivars() if is_uefi();
-#-PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
-#-PO: so you may need to put them in English or in a different language if MS-windows doesn't exist in your language
- foreach (__("Desktop"),
-#-PO: "Desktop" and "Start Menu" are the name of the directories found in c:\windows
- __("Start Menu")) {
- my $d = "$windrive/$windir/" . translate($_);
- -d $d or $d = "$windrive/$windir/$_";
- -d $d or log::l("can't find windows $d directory"), next;
- output "$d/Linux4Win.url", unix2dos(sprintf
-q([InternetShortcut]
-URL=file:\lnx4win\lnx4win.exe
-WorkingDirectory=%s
-IconFile=%s
-IconIndex=0
-), lnx4win_file($lilo, "/", "/lnx4win.ico"));
+ $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;
+}
+
+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';
}
+ ($prefix, $pkg);
}
+sub ensure_pkg_is_installed {
+ my ($do_pkgs, $bootloader) = @_;
-sub install {
- my ($prefix, $lilo, $fstab, $hds) = @_;
+ 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;
+}
- {
- my $f = "$prefix/etc/sysconfig/system";
- setVarsInSh($f, add2hash_({ CLEAN_TMP => $lilo->{CLEAN_TMP} }, { getVarsFromSh($f) }));
+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;
+ }
}
- $lilo->{keytable} = keytable($prefix, $lilo->{keytable});
+}
+
+=item find_other_distros_grub_conf($fstab)
+
+Returns a list of other distros' grub.conf
- if (exists $lilo->{methods}{grub}) {
- #- when lilo is selected, we don't try to install grub.
- #- just create the config file in case it may be useful
- eval { write_grub_config($prefix, $lilo, $fstab, $hds) };
+=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 %l = grep_each { $::b } %{$lilo->{methods}};
- my @rcs = map {
- c::is_secure_file('/tmp/.error') or die "can't ensure a safe /tmp/.error";
- my $f = $bootloader::{"install_$_"} or die "unknown bootloader method $_";
- eval { $f->(@_) };
- $@;
- } reverse sort keys %l; #- reverse sort for having grub installed after lilo if both are there.
-
- return if grep { !$_ } @rcs; #- at least one worked?
- die first(map { $_ } @rcs);
+ 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;
}
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1; #
+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/bootlook.pm b/perl-install/bootlook.pm
deleted file mode 100644
index 2781c29a2..000000000
--- a/perl-install/bootlook.pm
+++ /dev/null
@@ -1,340 +0,0 @@
-#!/usr/bin/perl -w
-
-# Control-center
-
-# Copyright (C) 2001 MandrakeSoft
-# Yves Duret <yduret at 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 MDK::Common;
-use Gtk;
-use Config;
-init Gtk;
-use POSIX;
-use lib qw(/usr/lib/libDrakX);
-use interactive;
-use standalone;
-use any;
-use bootloader;
-use fs;
-use my_gtk qw(:helpers :wrappers :ask);
-
-$::isEmbedded = ($::XID, $::CCPID) = "@ARGV" =~/--embedded (\S*) (\S*)/;
-if ($::isEmbedded) {
- print "EMBED\n";
- print "XID : $::XID\n";
- print "CCPID : $::CCPID\n";
-}
-
-my $in = 'interactive'->vnew('su', 'default');
-local $_ = join '', @ARGV;
-
-/-h/ and die _("no help implemented yet.\n");
-/-version/ and die 'version: $Id$'."\n";
-
-my @winm;
-my @usernames;
-parse_etc_passwd();
-
-my $x_mode = isXlaunched();
-my $a_mode = (-e "/etc/aurora/Monitor") ? 1 : 0;
-my $l_mode = isAutologin();
-my %auto_mode = get_autologin("");
-my $inmain = 0;
-my $lilogrub = chomp_(`detectloader -q`);
-
-my $window = $::isEmbedded ? new Gtk::Plug ($::XID) : new Gtk::Window ("toplevel");
-$window->signal_connect(delete_event => sub { $::isEmbedded ? kill(USR1, $::CCPID) : Gtk->exit(0) });
-$window->set_title(_("Boot Style Configuration") );
-$window->border_width(2);
-#$window->realize;
-
-# drakX mode
-my ($t_pixmap, $t_mask) = gtkcreate_png("tradi.png");
-my ($h_pixmap, $h_mask) = gtkcreate_png("hori.png");
-my ($v_pixmap, $v_mask) = gtkcreate_png("verti.png");
-my ($g_pixmap, $g_mask) = gtkcreate_png("gmon.png");
-my ($c_pixmap, $c_mask) = gtkcreate_png("categ.png");
-
-# a pixmap widget to contain the pixmap
-my $pixmap = new Gtk::Pixmap($h_pixmap, $h_mask);
-
-### menus definition
-# the menus are not shown
-# but they provides shiny shortcut like C-q
-my @menu_items = ( { path => _("/_File"), type => '<Branch>' },
- { path => _("/File/_Quit"), accelerator => _("<control>Q"), callback => sub { $::isEmbedded ? kill(USR1, $::CCPID) : Gtk->exit(0) } },
- );
-my $menubar = get_main_menu( $window );
-######### menus end
-
-my $user_combo = new Gtk::Combo;
-$user_combo->set_popdown_strings(@usernames);
-$user_combo->entry->set_text($auto_mode{autologin}) if ($auto_mode{autologin});
-my $desktop_combo =new Gtk::Combo;
-$desktop_combo->set_popdown_strings(get_wm());
-$desktop_combo->entry->set_text($auto_mode{desktop}) if ($auto_mode{desktop});
-my $a_c_button = new Gtk::RadioButton (_("NewStyle Categorizing Monitor"));
-my $a_h_button = new Gtk::RadioButton _("NewStyle Monitor"), $a_c_button;
-my $a_v_button = new Gtk::RadioButton _("Traditional Monitor"), $a_c_button;
-my $a_g_button = new Gtk::RadioButton _("Traditional Gtk+ Monitor"),$a_c_button ;
-my $a_button = new Gtk::CheckButton(_("Launch Aurora at boot time"));
-my $a_box = new Gtk::VBox(0, 0);
-my $x_box = new Gtk::VBox(0, 0);
-gtkadd($window,
- gtkpack__ (my $global_vbox = new Gtk::VBox(0,0),
- gtkadd (new Gtk::Frame (_("Lilo/grub mode")),
- gtkpack__(new Gtk::HBox(0, 0),
- _("You are currently using %s as Boot Manager.
-Click on Configure to launch the setup wizard.", $lilogrub),
- gtksignal_connect(new Gtk::Button (_("Configure")), clicked => \&lilo_choice)
- )
- ),
- # aurora
- gtkadd (new Gtk::Frame (_("Boot mode")),
- gtkpack__ (new Gtk::HBox(0,0),
- gtkpack__ (new Gtk::VBox(0, 5),
- gtksignal_connect ($a_button, clicked => sub {
- if ($inmain) {
- $a_box->set_sensitive(!$a_mode);
- $a_mode = !$a_mode;
- if ($a_mode) {
- $pixmap->set($c_pixmap, $c_mask) if $a_c_button->get_active();
- $pixmap->set($h_pixmap, $h_mask) if $a_h_button->get_active();
- $pixmap->set($v_pixmap, $v_mask) if $a_v_button->get_active();
- $pixmap->set($g_pixmap, $g_mask) if $a_g_button->get_active();
- } else {
- $pixmap->set($t_pixmap, $t_mask);
- }
- }
- }),
- gtkpack__ ( gtkset_sensitive ($a_box, $a_mode),
- gtksignal_connect ($a_c_button,clicked => sub{$pixmap->set($c_pixmap, $c_mask)}),
- gtksignal_connect ($a_h_button,clicked => sub{$pixmap->set($h_pixmap, $h_mask)}),
- gtksignal_connect ($a_v_button,clicked => sub{$pixmap->set($v_pixmap, $v_mask)}),
- gtksignal_connect ($a_g_button,clicked => sub{$pixmap->set($g_pixmap, $g_mask)})
- )
- ),
- gtkpack__ (new Gtk::HBox(0,0), $pixmap)
- )
- ),
- # X
- gtkadd (new Gtk::Frame (_("System mode")),
- gtkpack__ (new Gtk::VBox(0, 5),
- gtksignal_connect(gtkset_active(new Gtk::CheckButton (_("Launch the X-Window system at start")), $x_mode ), clicked => sub {
- $x_box->set_sensitive(!$x_mode);
- $x_mode = !$x_mode;
- }),
- gtkpack__ (gtkset_sensitive ($x_box, $x_mode),
- gtkset_active($x_no_button = new Gtk::RadioButton (_("No, I don't want autologin")), !$l_mode),
- gtkpack__ (new Gtk::HBox(0, 10),
- gtkset_active($x_yes_button = new Gtk::RadioButton((_("Yes, I want autologin with this (user, desktop)")), $x_no_button), $l_mode),
- gtkpack__ (new Gtk::VBox(0, 10),
- $user_combo,
- $desktop_combo
- )
- )
- )
- )
- ),
- gtkadd (gtkset_layout(new Gtk::HButtonBox,-end),
- gtksignal_connect(new Gtk::Button (_("OK")), clicked=>sub{updateInit();updateAutologin();updateAurora();$::isEmbedded ? kill(USR1,$::CCPID) : Gtk->exit(0)}),
- gtksignal_connect(new Gtk::Button ($::isEmbedded ? _("Cancel") : _("Quit")), clicked => sub {$::isEmbedded ? kill(USR1, $::CCPID) : Gtk->exit(0)})
- )
- )
- );
-
-$a_button->set_active($a_mode); # up == false == "0"
-if ($a_mode) {
- my $a = readlink "/etc/aurora/Monitor";
- $a =~ s#/lib/aurora/Monitors/##;
- if ($a eq "NewStyle-Categorizing-WsLib") {$a_c_button->set_active(1); $pixmap->set($c_pixmap, $c_mask);}
- if ($a eq "NewStyle-WsLib") {$a_h_button->set_active(1); $pixmap->set($h_pixmap, $h_mask);}
- if ($a eq "Traditional-WsLib") {$a_v_button->set_active(1); $pixmap->set($v_pixmap, $v_mask);}
- if ($a eq "Traditional-Gtk+") {$a_g_button->set_active(1); $pixmap->set($g_pixmap, $g_mask);}
-} else {
- $pixmap->set($t_pixmap, $t_mask);
-}
-
-$window->show_all();
-Gtk->main_iteration while Gtk->events_pending;
-$::isEmbedded and kill USR2, $::CCPID;
-$inmain=1;
-Gtk->main;
-Gtk->exit(0);
-
-#-------------------------------------------------------------
-# get user names to put in combo
-#-------------------------------------------------------------
-
-sub parse_etc_passwd
-{
- my ($uname, $uid);
- setpwent();
- do {
- @user_info = getpwent();
- ($uname, $uid) = @user_info[0,2];
- push (@usernames, $uname) if ($uid > 500);
- } while (@user_info);
-}
-
-sub get_wm
-{
- @winm = (split (' ', `/usr/sbin/chksession -l`));
-}
-
-#-------------------------------------------------------------
-# menu callback functions
-#-------------------------------------------------------------
-
-sub print_hello {
- print( "mcdtg !\n" );
-}
-
-sub get_main_menu {
- my ( $window ) = @_;
-
- my $accel_group = new Gtk::AccelGroup();
- my $item_factory = new Gtk::ItemFactory( 'Gtk::MenuBar', '<main>', $accel_group );
- $item_factory->create_items( @menu_items );
- $window->add_accel_group( $accel_group );
- return ( $item_factory->get_widget( '<main>' ) );
-}
-
-#-------------------------------------------------------------
-# launch X functions
-#-------------------------------------------------------------
-
-sub isXlaunched {
- my $line;
- open INITTAB, "/etc/inittab" or die _("can not open /etc/inittab for reading: %s", $!);
- while (<INITTAB>) {
- if (/id:([1-6]):initdefault:/) { $line = $_; last; }
- }
- close INITTAB;
- $line =~ s/id:([1-6]):initdefault:/$1/;
- return ($line-3);
-}
-
-sub updateInit {
- my $runlevel = ($x_mode) ? 5 : 3;
- substInFile { s/^id:\d:initdefault:\s*$/id:$runlevel:initdefault:\n/ } "/etc/inittab";
-}
-
-#-------------------------------------------------------------
-# aurora functions
-#-------------------------------------------------------------
-
-
-
-sub updateAurora {
- if ($a_mode) {
- if ($a_c_button->get_active()) {
- symlinkf("/lib/aurora/Monitors/NewStyle-Categorizing-WsLib", "/etc/aurora/Monitor");
- $in->do_pkgs->install(q(Aurora-Monitor-NewStyle-Categorizing-WsLib)) if !(-e "/lib/aurora/Monitors/NewStyle-Categorizing-WsLib");
- }
- if ($a_h_button->get_active()) {
- symlinkf("/lib/aurora/Monitors/NewStyle-WsLib", "/etc/aurora/Monitor");
- $in->do_pkgs->install(q(Aurora-Monitor-NewStyle-WsLib)) if !(-e "/lib/aurora/Monitors/NewStyle-WsLib");
- }
- if ($a_v_button->get_active()) {
- symlinkf("/lib/aurora/Monitors/Traditional-WsLib", "/etc/aurora/Monitor");
- $in->do_pkgs->install(q(Aurora-Monitor-Traditional-WsLib)) if !(-e "/lib/aurora/Monitors/Traditional-WsLib");
- }
- if ($a_g_button->get_active()) {
- symlinkf("/lib/aurora/Monitors/Traditional-Gtk+", "/etc/aurora/Monitor");
- $in->do_pkgs->install(q(Aurora-Monitor-Traditional-Gtk+)) if !(-e "/lib/aurora/Monitors/Traditional-Gtk+");
- }
- } else {
- unlink "/etc/aurora/Monitor";
- }
-
-}
-
-#-------------------------------------------------------------
-# launch autologin functions
-#-------------------------------------------------------------
-
-sub isAutologin {
- my $line;
- open AUTOLOGIN, "/etc/sysconfig/autologin" or die _("can not open /etc/sysconfig/autologin for reading: %s", $!);
- while (<AUTOLOGIN>) {
- if (/AUTOLOGIN=(yes|no)/) { $line = $_; last; }
- }
- close AUTOLOGIN;
- $line =~ s/AUTOLOGIN=(yes|no)/$1/;
- chomp ($line);
- $line = ($line eq "yes");
- return ($line);
-}
-
-sub get_autologin {
- my ($prefix) = @_;
- my %o;
- my %l = getVarsFromSh("$prefix/etc/sysconfig/autologin");
-
- $o{autologin} = $l{USER};
- %l = getVarsFromSh("$prefix/etc/sysconfig/desktop");
- $o{desktop} = $l{DESKTOP};
- %o;
-}
-
-sub updateAutologin {
- my ($usern,$deskt)=($user_combo->entry->get_text(), $desktop_combo->entry->get_text());
- if ($x_yes_button->get_active()) {
- $in->do_pkgs->install('autologin') if $x_mode;
- set_autologin('',$usern,$deskt);
- } else {
- set_autologin('',undef) if ($x_no_button->get_active());
- }
-}
-
-sub set_autologin {
- my ($prefix, $user, $desktop) = @_;
- output "$prefix/etc/sysconfig/desktop", uc($desktop), "\n" if $user;
- setVarsInSh("$prefix/etc/sysconfig/autologin",
- { USER => $user, AUTOLOGIN => bool2yesno($user), EXEC => "/usr/X11R6/bin/startx" });
- chmod 0600, "$prefix/etc/sysconfig/autologin";
-# log::l("cat $prefix/etc/sysconfig/autologin: ", cat_("$prefix/etc/sysconfig/autologin"));
-}
-
-
-#-------------------------------------------------------------
-# lilo/grub functions
-#-------------------------------------------------------------
-sub lilo_choice {
- my $bootloader = bootloader::read('', '/etc/lilo.conf');
- local ($_) = `detectloader`;
- $bootloader->{methods} = { lilo => 1, grub => !!/grub/i };
-
- my ($all_hds) = catch_cdie { fsedit::hds([ detect_devices::hds() ], {}) } sub { 1 };
- my $fstab = [ fsedit::get_all_fstab($all_hds) ];
- fs::merge_info_from_fstab($fstab);
-
- $::expert=1;
- ask:
- local $::isEmbedded = 0;
- any::setupBootloader($in, $bootloader, $all_hds, $fstab, $ENV{SECURE_LEVEL}) or return;
- eval { bootloader::install('', $bootloader, $fstab, $all_hds->{hds}) };
- if ($@) {
- $in->ask_warn('',
- [ _("Installation of LILO failed. The following error occured:"),
- grep { !/^Warning:/ } cat_("/tmp/.error") ]);
- unlink "/tmp/.error";
- goto ask;
- }
-}
diff --git a/perl-install/c.pm b/perl-install/c.pm
index aa03b9b1e..8312c0d79 100644
--- a/perl-install/c.pm
+++ b/perl-install/c.pm
@@ -1,19 +1,48 @@
-package c; # $Id$
+package c;
use vars qw($AUTOLOAD);
use c::stuff;
use MDK::Common;
-sub AUTOLOAD {
- $AUTOLOAD =~ /::(.*)/;
- my @l = eval { &{$c::stuff::{$1}} };
+sub AUTOLOAD() {
+ $AUTOLOAD =~ /::(.*)/ or return;
+ 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];
+ 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 e58cab335..0d09a8919 100644
--- a/perl-install/c/Makefile
+++ b/perl-install/c/Makefile
@@ -1,18 +1,17 @@
.PHONY: clean
-C_RPM = 1
-C_DRAKX = 1
+MAKEIT = $(MAKE) -f Makefile_c LD_RUN_PATH=
stuff: %: %.xs
- test -e Makefile_c || C_RPM=$(C_RPM) C_DRAKX=$(C_DRAKX) perl Makefile.PL
- $(MAKE) -f Makefile_c LD_RUN_PATH=
+ test -e Makefile_c || perl Makefile.PL
+ $(MAKEIT) || $(MAKEIT)
rm -f ../auto/c ; ln -s ../c/blib/arch/auto ../auto/c
clean:
test ! -e Makefile_c || $(MAKE) -f Makefile_c clean
- rm -f *~ *.o stuff.xs pcmcia_probe.c
+ rm -f *~ *.o stuff.xs probe.c
-stuff.xs: %: %.pm
+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 e4d13859a..f776d27f2 100644..100755
--- a/perl-install/c/Makefile.PL
+++ b/perl-install/c/Makefile.PL
@@ -1,23 +1,21 @@
+use MDK::Common;
use ExtUtils::MakeMaker;
use Config;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
-my $libs = '-lldetect -lext2fs';
-$libs .= ' -L/usr/X11R6/lib -lX11 -lgdk -lXxf86misc' if $ENV{C_DRAKX};
-$libs .= ' -lrpm -lrpmdb -lrpmio -lz' if $ENV{C_RPM};
+my $lib = arch() =~ /x86_64/ ? 'lib64' : 'lib';
-my $pcmcia_dir = $ENV{C_DRAKX} && $Config{archname} =~ /i.86/ ? '../../mdk-stage1/pcmcia' : '';
+my $libs = '-lldetect -lparted';
-symlink "$pcmcia_dir/pcmcia_probe.c", "pcmcia_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" . ($pcmcia_dir && " pcmcia_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 `gtk-config --cflags` `glib-config --cflags`" . ($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-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 b885de850..000000000
--- a/perl-install/c/smp.c
+++ /dev/null
@@ -1,506 +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__ */
-
-#ifdef __i386__
-/*
- * 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;
-}
-
-static int intelDetectSMP(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();
-#elif __sparc__
- return isSMP = sparcDetectSMP();
-#elif __alpha__
- return isSMP = alphaDetectSMP();
-#elif __powerpc__
- return isSMP = ppcDetectSMP();
-#elif __ia64__
- return isSMP = 1;
-#else
- #error unknown architecture
-#endif
-}
-
-#if 0
-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 b6cbd6128..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);
@@ -7,27 +7,8 @@ require DynaLoader;
@ISA = qw(DynaLoader);
$VERSION = '0.01';
+# perl_checker: EXPORT-ALL
-bootstrap c::stuff $VERSION;
-
-sub from_utf8 { iconv($_[0], "utf-8", standard_charset()) }
-
-sub headerGetEntry {
- my ($h, $q) = @_;
- $h or log::l("empty header in headerGetEntry"), return;
- $q eq 'name' and return headerGetEntry_string($h, RPMTAG_NAME());
- $q eq 'group' and return from_utf8(headerGetEntry_string($h, RPMTAG_GROUP()));
- $q eq 'version' and return headerGetEntry_string($h, RPMTAG_VERSION());
- $q eq 'release' and return headerGetEntry_string($h, RPMTAG_RELEASE());
- $q eq 'epoch' and return headerGetEntry_int($h, RPMTAG_EPOCH());
- $q eq 'summary' and return from_utf8(headerGetEntry_string($h, RPMTAG_SUMMARY()));
- $q eq 'description' and return from_utf8(headerGetEntry_string($h, RPMTAG_DESCRIPTION()));
- $q eq 'arch' and return headerGetEntry_string($h, RPMTAG_ARCH());
- $q eq 'size' and return headerGetEntry_int($h, RPMTAG_SIZE());
- $q eq 'obsoletes' and return headerGetEntry_string_list($h, RPMTAG_OBSOLETES());
- $q eq 'requires' and return headerGetEntry_string_list($h, RPMTAG_REQUIRENAME());
- $q eq 'fileflags' and return headerGetEntry_int_list($h, RPMTAG_FILEFLAGS());
- $q eq 'filenames' and return headerGetEntry_filenames($h);
-}
+c::stuff->bootstrap($VERSION);
1;
diff --git a/perl-install/c/stuff.xs.pl b/perl-install/c/stuff.xs.pl
new file mode 100755
index 000000000..1a148b497
--- /dev/null
+++ b/perl-install/c/stuff.xs.pl
@@ -0,0 +1,857 @@
+use Config;
+
+print '
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#include <ctype.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <syslog.h>
+#include <fcntl.h>
+#include <resolv.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <sys/ioctl.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#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>
+#include <linux/vt.h>
+#include <linux/fd.h>
+#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 UPS on USB:
+# define HID_MAX_USAGES 1024
+#include <linux/hiddev.h>
+
+#include <libldetect.h>
+
+#include <string.h>
+
+#define SECTORSIZE 512
+
+#include <parted/parted.h>
+';
+
+$Config{archname} =~ /i.86/ and print '
+char *pcmcia_probe(void);
+';
+
+print '
+
+/* 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));
+}
+
+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;
+}
+
+';
+
+print '
+
+int length_of_space_padded(char *str, int len) {
+ while (len >= 0 && str[len-1] == \' \')
+ --len;
+ return len;
+}
+
+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;
+}
+
+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
+
+';
+
+$Config{archname} =~ /i.86/ and print '
+char *
+pcmcia_probe()
+';
+
+print '
+int
+del_partition(hd, part_number)
+ int hd
+ int part_number
+ CODE:
+ {
+ 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;
+ }
+ OUTPUT:
+ RETVAL
+
+int
+add_partition(hd, part_number, start_sector, size_sector)
+ int hd
+ int part_number
+ unsigned long start_sector
+ unsigned long size_sector
+ CODE:
+ {
+ 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;
+ }
+ OUTPUT:
+ RETVAL
+
+int
+is_secure_file(filename)
+ char * filename
+ CODE:
+ {
+ int fd;
+ unlink(filename); /* in case it exists and we manage to remove it */
+ RETVAL = (fd = open(filename, O_RDWR | O_CREAT | O_EXCL, 0600)) != -1;
+ if (RETVAL) close(fd);
+ }
+ OUTPUT:
+ RETVAL
+
+void
+init_setlocale()
+ CODE:
+ setlocale(LC_ALL, "");
+ setlocale(LC_NUMERIC, "C"); /* otherwise eval "1.5" returns 1 in fr_FR for example */
+
+char *
+setlocale(category, locale = NULL)
+ int category
+ char * locale
+
+int
+lseek_sector(fd, sector, offset)
+ int fd
+ unsigned long sector
+ long offset
+ CODE:
+ RETVAL = lseek64(fd, (off64_t) sector * SECTORSIZE + offset, SEEK_SET) >= 0;
+ OUTPUT:
+ RETVAL
+
+int
+isBurner(fd)
+ int fd
+ CODE:
+ RETVAL = ioctl(fd, CDROM_GET_CAPABILITY) & CDC_CD_RW;
+ OUTPUT:
+ RETVAL
+
+int
+isDvdDrive(fd)
+ int fd
+ CODE:
+ RETVAL = ioctl(fd, CDROM_GET_CAPABILITY) & CDC_DVD;
+ OUTPUT:
+ RETVAL
+
+char *
+floppy_info(name)
+ char * name
+ CODE:
+ int fd = open(name, O_RDONLY | O_NONBLOCK);
+ RETVAL = NULL;
+ if (fd != -1) {
+ char drivtyp[17];
+ if (ioctl(fd, FDGETDRVTYP, (void *)drivtyp) == 0) {
+ struct floppy_drive_struct ds;
+ if (ioctl(fd, FDPOLLDRVSTAT, &ds) == 0 && ds.track >= 0)
+ RETVAL = drivtyp;
+ }
+ close(fd);
+ }
+ OUTPUT:
+ RETVAL
+
+NV
+total_sectors(fd)
+ int fd
+ CODE:
+ {
+ unsigned long long ll;
+ unsigned long l;
+ RETVAL = ioctl(fd, BLKGETSIZE64, &ll) == 0 ? ll / 512 :
+ ioctl(fd, BLKGETSIZE, &l) == 0 ? l : 0;
+ }
+ OUTPUT:
+ RETVAL
+
+void
+openlog(ident)
+ char *ident
+ CODE:
+ openlog(ident, 0, 0);
+
+void
+closelog()
+
+void
+syslog(priority, mesg)
+ int priority
+ char *mesg
+ CODE:
+ syslog(priority, "%s", mesg);
+
+void
+setsid()
+
+void
+_exit(status)
+ int status
+
+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();
+ int i;
+
+ EXTEND(SP, entries.nb);
+ for (i = 0; i < entries.nb; i++) {
+ struct pciusb_entry *e = &entries.entries[i];
+ 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);
+
+void
+usb_probe()
+ PPCODE:
+ struct pciusb_entries entries = usb_probe();
+ char buf[2048];
+ int i;
+
+ EXTEND(SP, entries.nb);
+ for (i = 0; i < entries.nb; i++) {
+ struct pciusb_entry *e = &entries.entries[i];
+ 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
+res_init()
+
+int
+isNetDeviceWirelessAware(device)
+ char * device
+ CODE:
+ struct iwreq ifr;
+
+ int s = socket(AF_INET, SOCK_DGRAM, 0);
+
+ memset(&ifr, 0, sizeof(ifr));
+ strncpy(ifr.ifr_name, device, IFNAMSIZ);
+ RETVAL = ioctl(s, SIOCGIWNAME, &ifr) != -1;
+ close(s);
+ OUTPUT:
+ RETVAL
+
+
+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
+ CODE:
+ struct rtentry route;
+ struct sockaddr_in addr;
+ int s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (s == -1) { RETVAL = 0; return; }
+
+ memset(&route, 0, sizeof(route));
+
+ addr.sin_family = AF_INET;
+ addr.sin_port = 0;
+ inet_aton(gateway, &addr.sin_addr);
+ memcpy(&route.rt_gateway, &addr, sizeof(addr));
+
+ addr.sin_addr.s_addr = INADDR_ANY;
+ memcpy(&route.rt_dst, &addr, sizeof(addr));
+ memcpy(&route.rt_genmask, &addr, sizeof(addr));
+
+ route.rt_flags = RTF_UP | RTF_GATEWAY;
+ route.rt_metric = 0;
+
+ RETVAL = !ioctl(s, SIOCADDRT, &route);
+ 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:
+ struct utsname u;
+ if (uname(&u) == 0) RETVAL = u.release; else RETVAL = NULL;
+ OUTPUT:
+ RETVAL
+
+void
+set_tagged_utf8(s)
+ SV *s
+ CODE:
+ SvUTF8_on(s);
+
+void
+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(""));
+ }
+ }
+
+';
+
+print '
+
+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 {
+ PedPartitionFlag flag = string_to_pedpartflag(type);
+ if (flag) {
+ RETVAL = ped_partition_set_flag(part, flag, 1);
+ }
+ }
+ OUTPUT:
+ RETVAL
+
+
+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
+get_disk_partitions(char * device_path)
+ PPCODE:
+ 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);
+ }
+
+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
+disk_delete_all(PedDisk* disk)
+ CODE:
+ RETVAL = 0;
+ if (ped_disk_delete_all(disk)) {
+ RETVAL = 1;
+ }
+ OUTPUT:
+ RETVAL
+
+int
+disk_del_partition(PedDisk* disk, int part_number)
+ CODE:
+ 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
+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
+
+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
+
+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
+
+#define BACKTRACE_DEPTH 20
+
+
+char*
+C_backtrace()
+ CODE:
+ 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
+
+
+
+
+';
+
+@macros = (
+ [ 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
+ ) ],
+);
+
+$\= "\n";
+print;
+
+foreach (@macros) {
+ my ($type, @l) = @$_;
+ foreach (@l) {
+ print<< "END"
+$type
+$_()
+ CODE:
+ RETVAL = $_;
+
+ OUTPUT:
+ RETVAL
+
+END
+
+ }
+}
+print '
+
+PROTOTYPES: DISABLE
+';
diff --git a/perl-install/c/stuff.xs.pm b/perl-install/c/stuff.xs.pm
deleted file mode 100644
index 563c97013..000000000
--- a/perl-install/c/stuff.xs.pm
+++ /dev/null
@@ -1,1060 +0,0 @@
-use Config;
-
-print '
-#include "EXTERN.h"
-#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 <unistd.h>
-#include <syslog.h>
-#include <fcntl.h>
-#include <resolv.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <sys/ioctl.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <sys/mount.h>
-#include <linux/keyboard.h>
-#include <linux/kd.h>
-#include <linux/hdreg.h>
-#include <linux/vt.h>
-#include <linux/fd.h>
-#include <linux/cdrom.h>
-#include <linux/loop.h>
-#include <net/if.h>
-#include <net/route.h>
-
-/* for is_ext3 */
-#include <ext2fs/ext2_fs.h>
-#include <ext2fs/ext2fs.h>
-
-#include <libldetect.h>
-#include <X11/Xlib.h>
-#include <X11/extensions/xf86misc.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();
-
-';
-
-$ENV{C_DRAKX} && $Config{archname} =~ /i.86/ and print '
-char *pcmcia_probe(void);
-';
-
-$ENV{C_RPM} and print '
-#include <langinfo.h>
-#include <string.h>
-#include <iconv.h>
-
-#undef Fflush
-#undef Mkdir
-#undef Stat
-#include <rpm/rpmlib.h>
-#include <rpm/rpmio.h>
-
-void rpmError_callback_empty(void) {}
-
-int rpmError_callback_data;
-void rpmError_callback(void) {
- if (rpmErrorCode() != RPMERR_UNLINK && rpmErrorCode() != RPMERR_RMDIR) {
- write(rpmError_callback_data, rpmErrorString(), strlen(rpmErrorString()));
- }
-}
-
-';
-
-$ENV{C_DRAKX} and print '
-
-#include <gdk/gdkx.h>
-
-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/cdrom", O_WRONLY);
- if (fd < 0) return;
-
- write (fd, imps2_s1, sizeof (imps2_s1));
- usleep (30000);
- write (fd, imps2_s2, sizeof (imps2_s2));
- usleep (30000);
- tcflush (fd, TCIFLUSH);
- tcdrain(fd);
-}
-
-void log_message(const char * s, ...) {}
-
-';
-
-print '
-
-MODULE = c::stuff PACKAGE = c::stuff
-
-';
-
-$ENV{C_DRAKX} && $Config{archname} =~ /i.86/ and print '
-char *
-pcmcia_probe()
-';
-
-$ENV{C_DRAKX} and print '
-
-int
-Xtest(display)
- char *display
- CODE:
- int pid;
- if ((pid = fork()) == 0) {
- Display *d = XOpenDisplay(display);
- if (d) {
- XSetCloseDownMode(d, RetainPermanent);
- XCloseDisplay(d);
- }
- _exit(d != NULL);
- }
- 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 '
-
-int
-is_secure_file(filename)
- char * filename
- CODE:
- {
- int fd;
- unlink(filename); /* in case it exists and we manage to remove it */
- RETVAL = (fd = open(filename, O_RDWR | O_CREAT | O_EXCL, 0600)) != -1;
- if (RETVAL) close(fd);
- }
- 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()
- 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 *
-dgettext(domainname, msgid)
- char * domainname
- char * msgid
-
-int
-KTYP(x)
- int x
- CODE:
- RETVAL = KTYP(x);
- OUTPUT:
- RETVAL
-
-int
-lseek_sector(fd, sector, offset)
- int fd
- long sector
- long offset
- CODE:
- RETVAL = lseek64(fd, (off64_t) sector * SECTORSIZE + offset, SEEK_SET) >= 0;
- OUTPUT:
- RETVAL
-
-int
-isBurner(fd)
- int fd
- CODE:
- RETVAL = ioctl(fd, CDROM_GET_CAPABILITY) & CDC_CD_RW;
- OUTPUT:
- RETVAL
-
-int
-isDvdDrive(fd)
- int fd
- CODE:
- RETVAL = ioctl(fd, CDROM_GET_CAPABILITY) & CDC_DVD;
- OUTPUT:
- RETVAL
-
-char *
-floppy_info(name)
- char * name
- CODE:
- int fd = open(name, O_RDONLY | O_NONBLOCK);
- RETVAL = NULL;
- if (fd != -1) {
- char drivtyp[17];
- ioctl(fd, FDGETDRVTYP, (void *)drivtyp);
- RETVAL = drivtyp;
- }
- OUTPUT:
- RETVAL
-
-unsigned int
-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;
- }
- OUTPUT:
- RETVAL
-
-void
-openlog(ident)
- char *ident
- CODE:
- openlog(ident, 0, 0);
-
-void
-closelog()
-
-void
-syslog(mesg)
- char *mesg
- CODE:
- syslog(LOG_WARNING, mesg);
-
-void
-setsid()
-
-void
-_exit(status)
- int status
-
-int
-detectSMP()
-
-void
-pci_probe(probe_type)
- int probe_type
- PPCODE:
- struct pciusb_entries entries = pci_probe(probe_type);
- 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)));
- }
- pciusb_free(entries);
-
-void
-usb_probe()
- PPCODE:
- struct pciusb_entries entries = usb_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%s\t%s\t%s",
- e.vendor, e.device, usb_class2text(e.class), e.module ? e.module : "unknown", e.text);
- PUSHs(sv_2mortal(newSVpv(buf, 0)));
- }
- pciusb_free(entries);
-
-unsigned int
-getpagesize()
-
-int
-hasNetDevice(device)
- char * device
- CODE:
- struct ifreq req;
- int s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s == -1) { RETVAL = 0; return; }
-
- strcpy(req.ifr_name, device);
-
- RETVAL = ioctl(s, SIOCGIFFLAGS, &req) == 0;
- close(s);
- OUTPUT:
- RETVAL
-
-int
-addDefaultRoute(gateway)
- char *gateway
- CODE:
- struct rtentry route;
- struct sockaddr_in addr;
- int s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s == -1) { RETVAL = 0; return; }
-
- memset(&route, 0, sizeof(route));
-
- addr.sin_family = AF_INET;
- addr.sin_port = 0;
- inet_aton(gateway, &addr.sin_addr);
- memcpy(&route.rt_gateway, &addr, sizeof(addr));
-
- addr.sin_addr.s_addr = INADDR_ANY;
- memcpy(&route.rt_dst, &addr, sizeof(addr));
- memcpy(&route.rt_genmask, &addr, sizeof(addr));
-
- route.rt_flags = RTF_UP | RTF_GATEWAY;
- route.rt_metric = 0;
-
- RETVAL = !ioctl(s, SIOCADDRT, &route);
- OUTPUT:
- RETVAL
-
-char *
-kernel_version()
- CODE:
- struct utsname u;
- if (uname(&u) == 0) RETVAL = u.release; else RETVAL = NULL;
- OUTPUT:
- RETVAL
-
-int
-set_loop(dev_fd, file)
- int dev_fd
- char *file
- CODE:
- RETVAL = 0;
-{
- struct loop_info loopinfo;
- int file_fd = open(file, O_RDWR);
-
- if (file_fd < 0) return;
-
- memset(&loopinfo, 0, sizeof(loopinfo));
- strncpy(loopinfo.lo_name, file, LO_NAME_SIZE);
- loopinfo.lo_name[LO_NAME_SIZE - 1] = 0;
-
- if (ioctl(dev_fd, LOOP_SET_FD, file_fd) < 0) return;
- if (ioctl(dev_fd, LOOP_SET_STATUS, &loopinfo) < 0) {
- ioctl(dev_fd, LOOP_CLR_FD, 0);
- return;
- }
- close(file_fd);
- RETVAL = 1;
-}
- OUTPUT:
- RETVAL
-
-int
-del_loop(device)
- char *device
- CODE:
- RETVAL = 0;
-{
- int fd;
- if ((fd = open(device, O_RDONLY)) < 0) return;
- if (ioctl(fd, LOOP_CLR_FD, 0) < 0) return;
- close(fd);
- RETVAL = 1;
-}
- OUTPUT:
- RETVAL
-
-int
-prom_open()
-
-void
-prom_close()
-
-int
-prom_getsibling(node)
- int node
-
-int
-prom_getchild(node)
- int node
-
-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)));
- } else {
- PUSHs(&PL_sv_undef);
- }
-
-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);
- }
-
-void
-prom_getstring(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, 0)));
- } else {
- PUSHs(&PL_sv_undef);
- }
-
-int
-prom_getbool(key)
- char *key
-
-
-
-void
-initSilo()
-
-char *
-disk2PromPath(disk)
- unsigned char *disk
-
-int
-hasAliases()
-
-char *
-promRootName()
-
-void
-setPromVars(linuxAlias, bootDevice)
- char *linuxAlias
- char *bootDevice
-';
-
-$ENV{C_RPM} and print '
-char *
-iconv(s, from_charset, to_charset)
- char *s
- char *from_charset
- char *to_charset
- CODE:
- iconv_t cd = iconv_open(to_charset, from_charset);
- RETVAL = s;
- if (cd != (iconv_t) (-1)) {
- size_t s_len = strlen(RETVAL);
- char *buf = alloca(3 * s_len + 10); /* 10 for safety, it should not be needed */
- {
- char *ptr = buf;
- size_t ptr_len = 3 * s_len + 10;
- if ((iconv(cd, &s, &s_len, &ptr, &ptr_len)) != (size_t) (-1)) {
- *ptr = 0;
- RETVAL = buf;
- }
- }
- iconv_close(cd);
- }
- OUTPUT:
- RETVAL
-
-char *
-standard_charset()
- CODE:
- RETVAL = nl_langinfo(CODESET);
- OUTPUT:
- RETVAL
-
-int
-rpmReadConfigFiles()
- CODE:
- char *rpmrc = getenv("RPMRC_FILE");
- if (rpmrc != NULL && !*rpmrc) rpmrc = NULL;
- RETVAL = rpmReadConfigFiles(rpmrc, NULL) == 0;
- OUTPUT:
- RETVAL
-
-int
-rpmdbInit(root, perms)
- char *root
- int perms
- CODE:
- RETVAL = rpmdbInit(root, perms) == 0;
- OUTPUT:
- RETVAL
-
-void *
-rpmdbOpen(root)
- char *root
- CODE:
- static rpmdb db;
- RETVAL = rpmdbOpen(root, &db, O_RDWR | O_CREAT, 0644) == 0 ||
- rpmdbOpen(root, &db, O_RDONLY, 0644) == 0 ? db : NULL;
- OUTPUT:
- RETVAL
-
-void *
-rpmdbOpenForTraversal(root)
- char *root
- CODE:
- static rpmdb db;
- rpmErrorCallBackType old_cb;
- old_cb = rpmErrorSetCallback(rpmError_callback_empty);
- rpmSetVerbosity(RPMMESS_FATALERROR);
- RETVAL = rpmdbOpen(root, &db, O_RDONLY, 0644) == 0 ? db : NULL;
- rpmErrorSetCallback(old_cb);
- rpmSetVerbosity(RPMMESS_NORMAL);
- OUTPUT:
- RETVAL
-
-void
-rpmdbClose(db)
- void *db
-
-int
-rpmdbTraverse(db, ...)
- void *db
- PREINIT:
- SV *callback = &PL_sv_undef;
- int count;
- Header h;
- rpmdbMatchIterator mi;
- CODE:
- if (items > 1) {
- callback = ST(1);
- }
- count = 0;
- mi = rpmdbInitIterator(db, RPMDBI_PACKAGES, NULL, 0);
- while (h = rpmdbNextIterator(mi)) {
- if (callback != &PL_sv_undef && SvROK(callback)) {
- dSP;
- ENTER;
- SAVETMPS;
- PUSHMARK(sp);
- XPUSHs(sv_2mortal(newSViv((IV)(void *)h)));
- PUTBACK;
- perl_call_sv(callback, G_DISCARD | G_SCALAR);
- FREETMPS;
- LEAVE;
- }
- ++count;
- }
- rpmdbFreeIterator(mi);
- RETVAL = count;
- OUTPUT:
- RETVAL
-
-int
-rpmdbNameTraverse(db, name, ...)
- void *db
- char *name
- PREINIT:
- SV *callback = &PL_sv_undef;
- int count;
- Header h;
- rpmdbMatchIterator mi;
- rpmErrorCallBackType oldcb;
- CODE:
- if (items > 2) {
- callback = ST(2);
- }
- count = 0;
- mi = rpmdbInitIterator(db, RPMTAG_NAME, name, 0);
- oldcb = rpmErrorSetCallback(rpmError_callback_empty);
- while (h = rpmdbNextIterator(mi)) {
- if (callback != &PL_sv_undef && SvROK(callback)) {
- dSP;
- ENTER;
- SAVETMPS;
- PUSHMARK(sp);
- XPUSHs(sv_2mortal(newSViv((IV)(void *)h)));
- PUTBACK;
- perl_call_sv(callback, G_DISCARD | G_SCALAR);
- FREETMPS;
- LEAVE;
- }
- ++count;
- }
- rpmErrorSetCallback(oldcb);
- rpmdbFreeIterator(mi);
- RETVAL = count;
- OUTPUT:
- RETVAL
-
-
-void *
-rpmtransCreateSet(db, rootdir)
- void *db
- char *rootdir
-
-void
-rpmtransAvailablePackage(rpmdep, header, key)
- void *rpmdep
- void *header
- char *key
- CODE:
- rpmtransAvailablePackage(rpmdep, header, strdup(key));
-
-int
-rpmtransAddPackage(rpmdep, header, key, update)
- void *rpmdep
- void *header
- char *key
- int update
- CODE:
- rpmTransactionSet r = rpmdep;
- RETVAL = rpmtransAddPackage(r, header, NULL, strdup(key), update, NULL) == 0;
- /* rpminstall.c of rpm-4 call headerFree directly after, we can make the same ?*/
- OUTPUT:
- RETVAL
-
-int
-rpmtransRemovePackages(db, rpmdep, p)
- void *db
- void *rpmdep
- char *p
- CODE:
- rpmdb d = db;
- rpmTransactionSet r = rpmdep;
- Header h;
- rpmdbMatchIterator mi;
- int count = 0;
- mi = rpmdbInitIterator(db, RPMDBI_LABEL, p, 0);
- while (h = rpmdbNextIterator(mi)) {
- unsigned int recOffset = rpmdbGetIteratorOffset(mi);
- if (recOffset) {
- rpmtransRemovePackage(rpmdep, recOffset);
- ++count;
- }
- }
- rpmdbFreeIterator(mi);
- RETVAL=count;
- OUTPUT:
- RETVAL
-
-int
-rpmdepOrder(order)
- void *order
- CODE:
- RETVAL = rpmdepOrder(order) == 0;
- OUTPUT:
- RETVAL
-
-int
-rpmdbRebuild(root)
- char *root
- CODE:
- rpmErrorCallBackType old_cb;
- old_cb = rpmErrorSetCallback(rpmError_callback_empty);
- rpmSetVerbosity(RPMMESS_FATALERROR);
- RETVAL = rpmdbRebuild(root) == 0;
- rpmErrorSetCallback(old_cb);
- rpmSetVerbosity(RPMMESS_NORMAL);
- OUTPUT:
- RETVAL
-
-void
-rpmtransFree(trans)
- void *trans
-
-char *
-rpmErrorString()
-
-int
-rpmVersionCompare(headerFirst, headerSecond)
- void *headerFirst
- void *headerSecond
-
-void
-rpmSetVeryVerbose()
- CODE:
- rpmSetVerbosity(RPMMESS_DEBUG);
-
-void
-rpmtransSetScriptFd(trans, fd)
- void *trans
- int fd
- CODE:
- static FD_t scriptFd = NULL;
- if (scriptFd != NULL) fdClose(scriptFd);
- scriptFd = fdDup(fd);
- rpmtransSetScriptFd(trans, scriptFd);
-
-void
-rpmRunTransactions(trans, callbackOpen, callbackClose, callbackMessage, force)
- void *trans
- SV *callbackOpen
- SV *callbackClose
- SV *callbackMessage
- int force
- PPCODE:
- rpmProblemSet probs;
- void *rpmRunTransactions_callback(const void *h, const rpmCallbackType what, const unsigned long amount, const unsigned long total, const void * pkgKey, void * data) {
- static int last_amount;
- static FD_t fd = NULL;
- char *msg = NULL;
- char *param_s = NULL;
- const unsigned long *param_ul1 = NULL;
- const unsigned long *param_ul2 = NULL;
- char *n = (char *) pkgKey;
- static struct timeval tprev;
- static struct timeval tcurr;
- long delta;
-
- switch (what) {
- case RPMCALLBACK_INST_OPEN_FILE: {
- int i;
- dSP;
- PUSHMARK(sp);
- XPUSHs(sv_2mortal(newSVpv(n, 0)));
- PUTBACK;
- i = perl_call_sv(callbackOpen, G_SCALAR);
- SPAGAIN;
- if (i != 1) croak("Big trouble\n");
- i = POPi; fd = fdDup(i);
- fd = fdLink(fd, "persist DrakX");
- PUTBACK;
- return fd;
- }
-
- case RPMCALLBACK_INST_CLOSE_FILE: {
- dSP;
- PUSHMARK(sp);
- XPUSHs(sv_2mortal(newSVpv(n, 0)));
- PUTBACK;
- perl_call_sv(callbackClose, G_DISCARD);
- free(n); /* was strdup in rpmtransAddPackage */
- fd = fdFree(fd, "persist DrakX");
- if (fd) {
- fdClose(fd);
- fd = NULL;
- }
- break;
- }
-
- case RPMCALLBACK_TRANS_START: {
- switch (amount) {
- case 1: msg = "Examining packages to install..."; break;
- case 5: msg = "Examining files to install..."; break;
- case 6: msg = "Finding overlapping files..."; break;
- }
- if (msg) param_ul1 = &total;
- } break;
-
- case RPMCALLBACK_UNINST_START: {
- msg = "Removing old files...";
- param_ul1 = &total;
- } break;
-
- case RPMCALLBACK_TRANS_PROGRESS: {
- msg = "Progressing transaction";
- param_ul1 = &amount;
- } break;
-
- case RPMCALLBACK_UNINST_PROGRESS: {
- msg = "Progressing removing old files";
- param_ul1 = &amount;
- } break;
-
- case RPMCALLBACK_TRANS_STOP: {
- msg = "Done transaction";
- } break;
-
- case RPMCALLBACK_UNINST_STOP: {
- msg = "Done removing old files";
- } break;
-
- case RPMCALLBACK_INST_START: {
- msg = "Starting installing package";
- gettimeofday(&tprev, NULL);
- param_s = n;
-
- last_amount = 0;
- } break;
-
- case RPMCALLBACK_INST_PROGRESS:
- gettimeofday(&tcurr, NULL);
- delta = 1000000 * (tcurr.tv_sec - tprev.tv_sec) + (tcurr.tv_usec - tprev.tv_usec);
- if (delta > 200000 || amount >= total - 1) { /* (total && (amount - last_amount) * 22 / 4 / total)) { */
- msg = "Progressing installing package";
- param_s = n;
- param_ul1 = &amount;
- param_ul2 = &total;
-
- tprev = tcurr;
- last_amount = amount;
- } break;
- default: break;
- }
-
- if (msg) {
- dSP ;
- PUSHMARK(sp) ;
- XPUSHs(sv_2mortal(newSVpv(msg, 0)));
- if (param_s) {
- XPUSHs(sv_2mortal(newSVpv(param_s, 0)));
- }
- if (param_ul1) {
- XPUSHs(sv_2mortal(newSViv(*param_ul1)));
- }
- if (param_ul2) {
- XPUSHs(sv_2mortal(newSViv(*param_ul2)));
- }
- PUTBACK ;
- perl_call_sv(callbackMessage, G_DISCARD);
- }
- return NULL;
- }
- if (rpmRunTransactions(trans, rpmRunTransactions_callback, NULL, NULL, &probs, 0, force ? ~0 : ~RPMPROB_FILTER_DISKSPACE)) {
- int i;
- /* printf("rpmRunTransactions finished, errors occured %d\n", probs->numProblems); fflush(stdout); */
- EXTEND(SP, probs->numProblems);
- for (i = 0; i < probs->numProblems; i++) {
- PUSHs(sv_2mortal(newSVpv(rpmProblemString(&probs->probs[i]), 0)));
- }
- }
-
-void
-rpmErrorSetCallback(fd)
- int fd
- CODE:
- rpmError_callback_data = fd;
- rpmErrorSetCallback(rpmError_callback);
-
-void *
-rpmReadPackageHeader(fdno)
- int fdno
- CODE:
- Header h;
- int isSource, major;
- FD_t fd = fdDup(fdno);
- RETVAL = rpmReadPackageHeader(fd, &h, &isSource, &major, NULL) ? NULL : h;
- fdClose(fd);
- OUTPUT:
- RETVAL
-
-void *
-headerRead(fdno, magicp)
- int fdno
- int magicp
- CODE:
- FD_t fd = fdDup(fdno);
- RETVAL = (void *) headerRead(fd, magicp);
- fdClose(fd);
- OUTPUT:
- RETVAL
-
-void
-headerFree(header)
- void *header
-
-char *
-headerGetEntry_string(h, query)
- void *h
- int query
- CODE:
- int type, count;
- headerGetEntry((Header) h, query, &type, (void **) &RETVAL, &count);
- OUTPUT:
- RETVAL
-
-int
-headerGetEntry_int(h, query)
- void *h
- int query
- CODE:
- int type, count, *i;
- headerGetEntry((Header) h, query, &type, (void **) &i, &count);
- RETVAL = i ? *i : 0; /* assume non existant value as 0 (needed for EPOCH (SERIAL)) */
- OUTPUT:
- RETVAL
-
-void
-headerGetEntry_int_list(h, query)
- void *h
- int query
- PPCODE:
- int i, type, count = 0;
- int_32 *intlist = (int_32 *) NULL;
- if (headerGetEntry((Header) h, query, &type, (void**) &intlist, &count)) {
- if (count > 0) {
- EXTEND(SP, count);
- for (i = 0; i < count; i++) {
- PUSHs(sv_2mortal(newSViv(intlist[i])));
- }
- }
- }
-
-void
-headerGetEntry_string_list(h, query)
- void *h
- int query
- PPCODE:
- int i, type, count = 0;
- char **strlist = (char **) NULL;
- if (headerGetEntry((Header) h, query, &type, (void**) &strlist, &count)) {
- if (count > 0) {
- EXTEND(SP, count);
- for (i = 0; i < count; i++) {
- PUSHs(sv_2mortal(newSVpv(strlist[i], 0)));
- }
- }
- free(strlist);
- }
-
-void
-headerGetEntry_filenames(h)
- void *h
- PPCODE:
- int i, type, count = 0;
- char ** baseNames, ** dirNames;
- int_32 * dirIndexes;
- char **strlist = (char **) NULL;
-
- if (headerGetEntry((Header) h, RPMTAG_OLDFILENAMES, &type, (void**) &strlist, &count)) {
- if (count > 0) {
- EXTEND(SP, count);
- for (i = 0; i < count; i++) {
- PUSHs(sv_2mortal(newSVpv(strlist[i], 0)));
- }
- }
- free(strlist);
- } else {
-
- headerGetEntry(h, RPMTAG_BASENAMES, &type, (void **) &baseNames, &count);
- headerGetEntry(h, RPMTAG_DIRINDEXES, &type, (void **) &dirIndexes, NULL);
- headerGetEntry(h, RPMTAG_DIRNAMES, &type, (void **) &dirNames, NULL);
-
- if (baseNames && dirNames && dirIndexes) {
- EXTEND(SP, count);
- for(i = 0; i < count; i++) {
- char *p = malloc(strlen(dirNames[dirIndexes[i]]) + strlen(baseNames[i]) + 1);
- if (p == NULL) croak("malloc failed");
- strcpy(p, dirNames[dirIndexes[i]]);
- strcat(p, baseNames[i]);
- PUSHs(sv_2mortal(newSVpv(p, 0)));
- free(p);
- }
- free(baseNames);
- free(dirNames);
- }
- }
-';
-
-@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 O_CREAT SECTORSIZE WNOHANG
- VT_ACTIVATE VT_WAITACTIVE VT_GETSTATE CDROM_LOCKDOOR CDROMEJECT
- ) ],
-);
-push @macros, [ qw(int RPMTAG_NAME RPMTAG_GROUP RPMTAG_SIZE RPMTAG_VERSION RPMTAG_SUMMARY RPMTAG_DESCRIPTION RPMTAG_RELEASE RPMTAG_EPOCH RPMTAG_ARCH RPMTAG_OBSOLETES RPMTAG_REQUIRENAME RPMTAG_FILEFLAGS RPMFILE_CONFIG) ]
- if $ENV{C_RPM};
-
-$\= "\n";
-print;
-
-foreach (@macros) {
- my ($type, @l) = @$_;
- foreach (@l) {
- print<< "END"
-$type
-$_()
- CODE:
- RETVAL = $_;
-
- OUTPUT:
- RETVAL
-
-END
-
- }
-}
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 baa02f232..000000000
--- a/perl-install/commands
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/perl
-
-use diagnostics;
-use strict;
-
-use lib qw(/usr/bin/perl-install .);
-use common;
-use commands;
-
-my $progname = basename($0);
-
-# hack as some functions are defined by perl... so chmod -> chmod_
-&{$commands::{$progname} || $commands::{$progname . "_"} || \&err}(@ARGV), exit 0;
-
-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 2a26b46dd..000000000
--- a/perl-install/commands.pm
+++ /dev/null
@@ -1,599 +0,0 @@
-#-########################################################################
-#- 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, mkswap, swapon,
-#- swapoff, ls, cp, ps, dd, head, tail, strings, hexdump, more, insmod,
-#- modprobe, route, df, kill, lspci, lssbus, dmesg, sort, du,
-#-########################################################################
-package commands; # $Id$
-
-use diagnostics;
-use strict;
-use vars qw($printable_chars);
-
-#-######################################################################################
-#- 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 which { ARG: foreach (@_) { foreach my $c (split /:/, $ENV{PATH}) { -x "$c/$_" and print("$c/$_\n"), next ARG; }}}
-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 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/ ? $v || print : $v && 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_deps("/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));
-
- my $mkdir; $mkdir = sub {
- my $root = dirname $_[0];
- if (-e $root) {
- -d $root or die "mkdir: error creating directory $_[0]: $root is a file and i won't delete it\n";
- } else {
- $rec or die "mkdir: $root does not exist (try option -p)\n";
- &$mkdir($root);
- }
- $rec and -d $_[0] and return;
- mkdir $_[0], 0755 or die "mkdir: error creating directory $_: $!\n";
- };
- &$mkdir($_) 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 mkswap {
- @_ == 1 or die "mkswap <device>\n";
- require swap;
- swap::enable($_[0], 0);
-}
-
-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 {
- my ($force) = getopts(\@_, qw(f));
- @_ >= 2 or die "usage: cp [-f] <sources> <dest>\n(this cp does -Rl by default)\n";
-
- my $cp; $cp = sub {
- my $dest = pop @_;
-
- @_ or return;
- @_ == 1 || -d $dest or die "cp: copying multiple files, but last argument ($dest) is not a directory\n";
-
- foreach my $src (@_) {
- my $dest = $dest;
- -d $dest and $dest .= "/" . basename($src);
-
- if (-e $dest) {
- $force ? unlink $dest : die "file $dest already exist\n";
- }
-
- if (-d $src) {
- -d $dest or mkdir $dest, (stat($src))[2] or die "mkdir: can't create directory $dest: $!\n";
- &$cp(glob_($src), $dest);
- } elsif (-l $src) {
- unless (symlink((readlink($src) || die "readlink failed: $!"), $dest)) {
- my $msg = "symlink: can't create symlink $dest: $!\n";
- $force ? warn $msg : die $msg;
- }
- } else {
- local (*F, *G);
- open F, $src or die "can't open $src for reading: $!\n";
- open G, "> $dest" or $force or die "can't create $dest : $!\n";
- local $_;
- while (<F>) { print G $_ }
- chmod((stat($src))[2], $dest);
- }
- }
- };
- &$cp(@_);
-}
-
-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";
- format PS_TOP =
- PID RSS %CPU CMD
-.
- format PS =
-@>>>> @>>>> @>>> @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-$pid, $rss, $cpu, $cmd
-.
- foreach $pid (sort {$a <=> $b} grep { /\d+/ } all('/proc')) {
- 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;
- local *F; @_ ? open(F, $_[0]) || die "error: can't open file $_[0]\n" : (*F = *STDIN);
-
- local $_;
- if ($0 eq 'head') {
- while (<F>) { $n-- or return; print }
- } else {
- @_ = (); while (<F>) { 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; 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 = @_; 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');
- local *IN; open IN, "<$tty" or die "can't open $tty\n";
- my $n = 0; while (<>) {
- if (++$n == 25) {
- my $v = <IN>;
- $v =~ /^q/ and exit 0;
- $n = 0;
- }
- print
- }
-}
-
-sub pack_ {
- my $t;
- foreach (@_) {
- if (-d $_) {
- pack_(glob_($_));
- } else {
- print -s $_, "\n";
- print $_, "\n";
-
- local *F;
- open F, $_ or die "can't read file $_: $!\n";
- while (read F, $t, $BUFFER_SIZE) { print $t; }
- }
- }
-}
-
-sub unpack_ {
- my $t;
- @_ == 1 or die "give me one and only one file to unpack\n";
- local *F;
- open F, $_[0] or die "can't open file $_: $!\n";
- while (1) {
- my $size = chomp_(scalar <F>);
- defined $size or last;
- $size =~ /^\d+$/ or die "bad format (can't find file size)\n";
- my $filename = chomp_(scalar <F>) or die "expecting filename\n";
-
- print "$filename\n";
- my $dir = dirname($filename);
- -d $dir or mkdir_('-p', $dir);
-
- local *G;
- open G, "> $filename" or die "can't write file $filename: $!\n";
- while ($size) {
- $size -= read(F, $t, min($size, $BUFFER_SIZE)) || die "data for file $filename is missing\n";
- print G $t or die "error writing to file $filename: $!\n";
- }
- }
-}
-
-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 .= "2";
- 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_deps("/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";
- 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";
- 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 $dev (sort keys %h) {
- ($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";
- local *F; @_ ? open(F, $_[0]) || die "error: can't open file $_[0]\n" : (*F = *STDIN);
- if ($n) {
- print sort { $a <=> $b } <F>;
- } else {
- print sort <F>;
- }
-}
-
-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($_[0]);
-}
-
-sub sync { common::sync() }
-
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1; #
-
diff --git a/perl-install/common.pm b/perl-install/common.pm
index 8d8ab40dd..508e6b31f 100644
--- a/perl-install/common.pm
+++ b/perl-install/common.pm
@@ -1,78 +1,238 @@
-package common; # $Id$
+package common;
use MDK::Common;
-use MDK::Common::System;
use diagnostics;
use strict;
-use vars qw(@ISA @EXPORT $SECTORSIZE);
+BEGIN { eval { require Locale::gettext } } #- allow common.pm to be used in drakxtools-backend without perl-Locale-gettext
-@ISA = qw(Exporter);
-# no need to export ``_''
-@EXPORT = qw($SECTORSIZE __ translate untranslate formatXiB removeXiBSuffix formatTime setVirtual makedev unmakedev salt);
+use log;
+use run_program;
+
+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
#-#####################################################################################
#- Globals
#-#####################################################################################
-$SECTORSIZE = 512;
+our $SECTORSIZE = 512;
-#-#####################################################################################
-#- Functions
-#-#####################################################################################
+=head1 Functions
+
+=head2 Translating
+
+=over
+
+=item N($format, ...)
+translate a message by calling gettext(). eg:
-sub _ {
- my $s = shift @_; my $t = translate($s);
- sprintf $t, @_;
+ 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 {
+ my ($s, @para) = @_;
+ sprintf(translate($s), @para);
}
-sub __ { $_[0] }
-sub salt {
- my ($nb) = @_;
- require devices;
- open F, devices::make("random") or die "missing random";
- my $s; read F, $s, $nb;
- local $_ = pack "b8" x $nb, unpack "b6" x $nb, $s;
- tr [\0-\x3f] [0-9a-zA-Z./];
- $_;
+=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)
+
+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:
+
+ 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 makedev { ($_[0] << 8) | $_[1] }
-sub unmakedev { $_[0] >> 8, $_[0] & 0xff }
+sub translate_real {
+ my ($s, $o_plural, $o_nb) = @_;
+ $s or return '';
+ 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(@_);
+ $::one_message_has_been_translated ||= join(':', (caller(1))[1,2]); #- see mygtk3.pm
+ remove_translate_context($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) = @_;
- $s ? c::dgettext('libDrakX', $s) : '';
+ Locale::gettext::iconv($s, "utf-8", undef); #- undef = locale charmap = nl_langinfo(CODESET)
}
-sub untranslate {
- my $s = shift || return;
- foreach (@_) { translate($_) eq $s and return $_ }
- die "untranslate failed";
+=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
+
+=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 && grep { $_->{driver} =~ /i810/ } 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 = '';
- local *C;
- sysopen C, "/dev/console", 2 or die "failed to open /dev/console: $!";
- ioctl(C, c::VT_GETSTATE(), $vt) or die "ioctl VT_GETSTATE failed";
- ioctl(C, c::VT_ACTIVATE(), $_[0]) or die "ioctl VT_ACTIVATE failed";
- ioctl(C, c::VT_WAITACTIVE(), $_[0]) or die "ioctl VT_WAITACTIVE failed";
+ sysopen(my $C, "/dev/console", 2) or die "failed to open /dev/console: $!";
+ ioctl($C, c::VT_GETSTATE(), $vt) &&
+ ioctl($C, c::VT_ACTIVATE(), $vt_number) &&
+ ioctl($C, c::VT_WAITACTIVE(), $vt_number) or die "setVirtual failed";
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;
@@ -83,38 +243,72 @@ 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, $newbase) = (@_, 1);
+ 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 ('', _("KB"), _("MB"), _("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) . _("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) {
- _("%d minutes", $m);
+ N("%d minutes", $m);
} elsif ($m == 1) {
- _("1 minute");
+ N("1 minute");
} else {
- _("%d seconds", $s);
+ N("%d seconds", $s);
}
}
-sub usingRamdisk { scalar(grep { /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) = @_;
@@ -124,12 +318,479 @@ 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 }
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1; #
+BEGIN { undef *formatError }
+sub formatError {
+ my ($err) = @_;
+ ref($err) eq 'SCALAR' and $err = $$err;
+ log::l("error: $err");
+ &MDK::Common::String::formatError($err);
+}
+
+=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 = $_;
+ }
+ }
+ @l;
+}
+
+=item group_n_lm($n, @list)
+
+Group the list by n. Returns a reference of lists of length n
+
+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;
+ foreach (@_) {
+ if (/^\s/) {
+ $s .= $_;
+ } else {
+ push @l, $s if $s;
+ $s = $_;
+ }
+ }
+ @l, if_($s, $s);
+}
+
+
+sub read_alternative {
+ my ($name) = @_;
+ my $alt = readlink("$::prefix/etc/alternatives/$name");
+ $alt && $::prefix . $alt;
+}
+
+sub set_alternative {
+ my ($command, $executable) = @_;
+
+ #- 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 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) = @_;
+ 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 udev does the business automatically.
+ return 1 unless $::isInstall;
+ if ($o_owner || $o_group) {
+ $o_owner ||= (lstat($file))[4];
+ $o_group ||= (lstat($file))[5];
+ chown_(0, $o_owner, $o_group, $file);
+ }
+ 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 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 if $::testing || !$>; # we're already root
+
+ 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 = 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 74200ddeb..000000000
--- a/perl-install/crypto.pm
+++ /dev/null
@@ -1,71 +0,0 @@
-package crypto; # $Id$
-
-use diagnostics;
-use strict;
-
-use common;
-use log;
-use ftp;
-
-my %mirrors = (
- "ftp.ucr.ac.cr" => [ "Costa Rica", "/pub/Unix/linux/mandrake/Mandrake" ],
- "ftp.nectec.or.th" => [ "Thailand", "/pub/mirrors/Mandrake-crypto" ],
- "ftp.tvd.be" => [ "Belgium", "/packages/mandrake-crypto" ],
- "sunsite.mff.cuni.cz" => [ "Czech Republic", "/OS/Linux/Dist/Mandrake-crypto" ],
- "ftp.uni-kl.de" => [ "Germany", "/pub/linux/mandrake/Mandrake-crypto" ],
- "ftp.duth.gr" => [ "Grece", "/pub/mandrake-crypto" ],
- "ftp.leo.org" => [ "Germany", "/pub/comp/os/unix/linux/Mandrake/Mandrake-crypto" ],
- "sunsite.uio.no" => [ "Norway", "/pub/unix/Linux/Mandrake-crypto" ],
- "ftp.sunet.se" => [ "Sweden", "/pub/Linux/distributions/mandrake-crypto" ],
-#- "ackbar" => [ "Ackbar", "/crypto", "a", "a" ],
-);
-
-my %deps = (
- 'libcrypto.so.0' => 'openssl',
- 'libssl.so.0' => 'openssl',
- 'mod_sxnet.so' => 'mod_ssl-sxnet',
-);
-
-sub require2package { $deps{$_[0]} || $_[0] }
-sub mirror2text($) { $mirrors{$_[0]} && "$mirrors{$_[0]}[0] ($_[0])" }
-sub mirrors() { keys %mirrors }
-sub dir { $mirrors{$_[0]}[1] . '/' . (arch() !~ /i.86/ && ((arch() =~ /sparc/ ? "sparc" : arch()). '/')) . $::VERSION }
-sub ftp($) { ftp::new($_[0], dir($_[0])) }
-
-sub getFile {
- my ($file, $host) = @_;
- $host ||= $crypto::host;
- log::l("getting crypto file $file on directory " . dir($host) . " with login $mirrors{$host}[2]");
- my ($ftp, $retr) = ftp::new($host, dir($host),
- $mirrors{$host}[2] ? $mirrors{$host}[2] : (),
- $mirrors{$host}[3] ? $mirrors{$host}[3] : ()
- );
- $$retr->close if $$retr;
- $$retr = $ftp->retr($file) or ftp::rewindGetFile();
- $$retr ||= $ftp->retr($file);
-}
-
-sub getDepslist { getFile("depslist-crypto", $_[0]) or die "unable to get depslist-crypto" }
-
-sub getPackages {
- my ($prefix, $packages, $mirror) = @_;
-
- $crypto::host = $mirror;
-
- #- extract hdlist of crypto, then depslist.
- require pkgs;
- pkgs::psUsingHdlist($prefix, '', $packages, "hdlist-crypto.cz2", "crypto.cz2", "Crypto", "Cryptographic site", 1, getFile("hdlist-crypto.cz2", $mirror)) and
- pkgs::getOtherDeps($packages, getDepslist($mirror));
-
- #- produce an output suitable for visualization.
- map { pkgs::packageName($_) } pkgs::packagesOfMedium($packages, "Crypto");
-}
-
-sub get {
- my ($mirror, $dir, @files) = @_;
- foreach (@files) {
- log::l("crypto: downloading $_");
- ftp($mirror)->get($_, "$dir/$_")
- }
- int @files;
-}
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 f98e1034a..48dadadbb 100644
--- a/perl-install/detect_devices.pm
+++ b/perl-install/detect_devices.pm
@@ -1,26 +1,72 @@
-package detect_devices; # $Id$
+package detect_devices;
use diagnostics;
use strict;
+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 = ();
+my %serialprobe;
#-######################################################################################
#- Functions
#-######################################################################################
-sub get {
+
+=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,
#- SCSI and RAID devices on the same machine. From what I see so far, the default
#- BIOS boot harddrive will be
@@ -28,123 +74,292 @@ sub get {
#- 2. The first SCSI device if SCSI exists. Or
#- 3. The first RAID device if RAID exists.
- getIDE(), getSCSI(), getDAC960(), getCompaqSmartArray();
-}
-sub hds() { grep { $_->{media_type} eq 'hd' && ($::isStandalone || !isRemovableDrive($_)) } get(); }
-sub zips() { grep { $_->{media_type} =~ /.d/ && isZipDrive($_) } get(); }
-sub ide_zips() { grep { $_->{media_type} =~ /.d/ && isZipDrive($_) } getIDE(); }
-#-sub jazzs() { grep { $_->{media_type} =~ /.d/ && isJazDrive($_) } get(); }
-sub ls120s() { grep { $_->{media_type} =~ /.d/ && isLS120Drive($_) } get(); }
-sub cdroms() {
- my @l = grep { $_->{media_type} eq 'cdrom' } get();
- if (my @l2 = IDEburners()) {
- require modules;
- modules::add_alias('scsi_hostadapter', 'ide-scsi');
- my $nb = 1 + max(-1, map { $_->{device} =~ /scd(\d+)/ } @l);
- foreach my $i (@l2) {
- log::l("IDEBurner: $i->{device}");
- my ($e) = grep { $_->{device} eq $i->{device} } @l;
- $e->{device} = "scd" . $nb++;
- }
+ getIDE(), getSCSI(), getMmcBlk(), getNVMe(), getXenBlk(), getVirtIO(), getDAC960(), getCompaqSmartArray();
+}
+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 ls120s() { grep { member($_->{media_type}, 'fd', 'hd') && isLS120Drive($_) } get() }
+sub zips() {
+ map {
+ $_->{device} .= 4;
+ $_;
+ } raw_zips();
+}
+
+sub floppies {
+ my ($o_not_detect_legacy_floppies) = @_;
+ require modules;
+ 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);
+ }
}
- @l;
+
+ my @ide = ls120s() and eval { modules::load("ide_floppy") };
+
+ eval { modules::load("usb_storage") } if $::isInstall && usbStorage();
+ my @scsi = grep { $_->{media_type} eq 'fd' } getSCSI();
+ @ide, @scsi, @fds;
}
-sub burners { grep { $_->{media_type} eq 'cdrom' && isBurner($_) } get() }
-sub IDEburners { grep { $_->{media_type} eq 'cdrom' && isBurner($_) } getIDE() }
-sub dvdroms { grep { $_->{media_type} eq 'cdrom' && isDvdDrive($_) } get() }
+sub floppies_dev() { map { $_->{device} } floppies() }
+sub floppy() { first(floppies_dev()) }
+#- example ls120, model = "LS-120 SLIM 02 UHD Floppy"
-sub get_mac_model() {
- my $mac_model = cat_("/proc/device-tree/model") || die "Can't open /proc/device-tree/model";
- log::l("Mac model: $mac_model");
- $mac_model;
+sub removables() {
+ floppies(), cdroms(), zips();
}
-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];
+sub get_sys_cdrom_info {
+ my (@drives) = @_;
+
+ my @drives_order;
+ foreach (cat_("/proc/sys/dev/cdrom/info")) {
+ my ($t, $l) = split ':';
+ my @l;
+ @l = split(' ', $l) if $l;
+ if ($t eq 'drive name') {
+ @drives_order = map {
+ my $dev = $_;
+ find { $_->{device} eq $dev } @drives;
+ } @l;
+ } else {
+ my $capacity;
+ if ($t eq 'Can write CD-R') {
+ $capacity = 'burner';
+ } elsif ($t eq 'Can read DVD') {
+ $capacity = 'DVD';
+ }
+ if ($capacity) {
+ each_index {
+ ($drives_order[$::i] || {})->{capacity} .= "$capacity " if $_;
+ } @l;
+ }
}
- $count++;
}
- return "Unknown Generation";
}
-sub dev_is_devfs { -e "/dev/.devfsd" }
+sub complete_usb_storage_info {
+ my (@l) = @_;
-sub floppies() {
- require modules;
- eval { modules::load("floppy") };
- my @fds = map {
- my $info = (!dev_is_devfs() || -e "/dev/$_") && c::floppy_info(devices::make($_));
- if_($info && $info ne '(null)', { device => $_, media_type => 'fd', info => $info })
- } qw(fd0 fd1);
- my @ide = ls120s() and modules::load("ide-floppy");
- my @scsi = grep { $_->{media_type} eq 'fd' } getSCSI();
- @ide, @scsi, @fds;
+ my @usb = grep { exists $_->{usb_vendor} } @l;
+
+ foreach my $usb (usb_probe()) {
+ 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 floppies_dev() { map { $_->{device} } floppies() }
-sub floppy { first(floppies_dev()) }
-#- example ls120, model = "LS-120 SLIM 02 UHD Floppy"
sub isBurner {
- my $dev = $_[0]{device};
- if (my($nb) = $dev =~ /scd(.*)/) {
- grep { /^(scd|sr)$nb:.*writer/ } syslog();
- } else {
- my $f = tryOpen($dev); #- SCSI burner are not detected this way.
- $f && c::isBurner(fileno($f));
- }
+ my ($e) = @_;
+ $e->{capacity} =~ /burner/ and return 1;
+
+ #- do not work for SCSI
+ my $f = tryOpen($e->{device}); #- SCSI burner are not detected this way.
+ $f && c::isBurner(fileno($f));
}
sub isDvdDrive {
- $_[0]{info} =~ /DVD/; #- SCSI DVD seems not to be detected correctly, so use another probe after.
- my $f = tryOpen($_[0]{device});
+ my ($e) = @_;
+ $e->{capacity} =~ /DVD/ || $e->{info} =~ /DVD/ and return 1;
+
+ #- do not work for SCSI
+ my $f = tryOpen($e->{device});
$f && c::isDvdDrive(fileno($f));
}
-sub isZipDrive { $_[0]->{info} =~ /ZIP\s+\d+/ } #- accept ZIP 100, untested for bigger ZIP drive.
-#-sub isJazzDrive { $_[0]->{info} =~ /JAZZ?\s+/ } #- untested.
-sub isLS120Drive { $_[0]->{info} =~ /LS-?120|144MB/ }
-sub isRemovableDrive { &isZipDrive || &isLS120Drive || $_[0]->{media_type} eq 'fd' } #-or &isJazzDrive }
+sub isZipDrive { $_[0]{info} =~ /ZIP\s+\d+/ } #- accept ZIP 100, untested for bigger ZIP drive.
+sub isLS120Drive { $_[0]{info} =~ /LS-?120|144MB/ }
+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 may_be_a_hd {
+ my ($e) = @_;
+ $e->{media_type} eq 'hd' && !(
+ isZipDrive($e)
+ || isLS120Drive($e)
+ || begins_with($e->{usb_media_type} || '', 'Mass Storage|Floppy (UFI)')
+ );
+}
-sub isFloppyOrHD {
- my ($dev) = @_;
- require partition_table_raw;
- my $geom = partition_table_raw::get_geometry(devices::make($dev));
- $geom->{totalsectors} < 10 << 11 ? 'fd' : 'hd';
+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 @drives;
- my ($driveNum, $cdromNum, $tapeNum) = qw(0 0 0);
- my $err = sub { chop; die "unexpected line in /proc/scsi/scsi: $_"; };
- local $_;
-
- local *F;
- open F, "/proc/scsi/scsi" or return;
- local $_ = <F>; /^Attached devices:/ or return &$err();
- while ($_ = <F>) {
- my ($id) = /^Host:.*?Id: (\d+)/ or return &$err();
- $_ = <F>; my ($vendor, $model) = /^\s*Vendor:\s*(.*?)\s+Model:\s*(.*?)\s+Rev:/ or return &$err();
- $_ = <F>; my ($type) = /^\s*Type:\s*(.*)/ or &$err();
- my $device;
- if ($type =~ /Direct-Access/) { #- what about LS-120 floppy drive, assuming there are Direct-Access...
- $device = "sd" . chr($driveNum++ + ord('a'));
- $type = isFloppyOrHD($device);
- } elsif ($type =~ /Sequential-Access/) {
- $device = "st" . $tapeNum++;
- $type = 'tape';
- } elsif ($type =~ /CD-ROM/) {
- $device = "scd" . $cdromNum++;
- $type = 'cdrom';
+ 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);
}
- $device and push @drives, { device => $device, media_type => $type, info => "$vendor $model", id => $id, bus => 0 };
+ 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 %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",
+ "Maxtor" => "Maxtor",
+ "Micropolis" => "Micropolis",
+ "Pioneer" => "Pioneer",
+ "PLEXTOR" => "Plextor",
+ "QUANTUM" => "Quantum",
+ "SAMSUNG" => "Samsung",
+ "Seagate " => "Seagate Technology",
+ "ST3" => "Seagate Technology",
+ "TEAC" => "Teac",
+ "TOSHIBA" => "Toshiba",
+ "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)*(.*)/;
}
- @drives;
+ return ("Hitachi", $info) if $info =~ /^HD[ST][0-9]/;
}
+=item getIDE()
+
+Returns a list of all IDE device.
+
+=cut
+
sub getIDE() {
my @idi;
@@ -154,32 +369,60 @@ sub getIDE() {
#- Great. 2.2 kernel, things are much easier and less error prone.
foreach my $d (sort @{[glob_('/proc/ide/hd*')]}) {
my $t = chomp_(cat_("$d/media"));
- my $type = $ {{disk => 'hd', cdrom => 'cdrom', tape => 'tape', floppy => 'fd'}}{$t} or next;
+ 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';
- push @idi, { media_type => $type, device => basename($d), info => $info, bus => $num/2, id => $num%2 };
+ my $num = ord(($d =~ /(.)$/)[0]) - ord 'a';
+ my ($vendor, $model) = _get_hd_vendor($info);
+
+ my $host = $num;
+ ($host, my $id) = divide($host, 2);
+ ($host, my $channel) = divide($host, 2);
+
+ push @idi, { media_type => $type, device => basename($d),
+ info => $info, host => $host, channel => $channel, id => $id, bus => 'ide',
+ if_($vendor, Vendor => $vendor), if_($model, Model => $model) };
}
+ 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 (m|^\s*($name/.*?):|) {
- push @idi, { device => $1, info => "Compaq RAID logical disk", media_type => 'hd' };
- }
+ 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() {
@@ -189,196 +432,1251 @@ 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 };
- log::l("DAC960: $device ($info)");
+ $idi{$device} = { info => $info, media_type => 'hd', device => $device, bus => 'dac960' };
}
values %idi;
}
-sub getNet() {
-# my @a;
-# foreach (@netdevices) {
-# $::isStandalone && /plip/ and next;
-# print (" hhhhh $_ \n");
-# /ippp/ and run_program::rooted("", "/sbin/isdnctrl addif $_");
-# c::hasNetDevice($_) and push @a, $_;
-# }
-# /ippp/ and run_program::rooted("", "/sbin/isdnctrl delif $_") foreach @netdevices;
-# @a;
- grep { !($::isStandalone && /plip/) && c::hasNetDevice($_) } @netdevices;
+=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*");
}
-#sub getISDN() {
-# mapgrep(sub {member (($_[0] =~ /\s*(\w*):/), @netdevices), $1 }, split(/\n/, cat_("/proc/net/dev")));
-#}
+=item getVirtIO()
+
+Returns a list of all VirtIO block devices (/dev/C<vd*>).
-sub pci_probe {
- my ($probe_type) = @_;
+=cut
+
+sub getVirtIO() {
+ -d '/sys/bus/virtio/devices' or return;
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
- } c::pci_probe($probe_type || 0);
+ { device => basename($_), info => "VirtIO block device", media_type => 'hd', bus => 'virtio' };
+ }
+ glob("/sys/bus/virtio/devices/*/block/*");
}
-sub usb_probe {
- -e "/proc/bus/usb/devices" or return ();
+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/*");
+}
+sub getNVMe() {
+ -d '/sys/class/nvme' or return;
map {
- my %l;
- @l{qw(vendor id media_type driver description)} = split "\t";
- $l{$_} = hex $l{$_} foreach qw(vendor id);
- $l{bus} = 'USB';
- \%l
- } c::usb_probe();
-}
-
-# pci_probe with $probe_type is unsafe for pci! (bug in kernel&hardware)
-# get_pcmcia_devices provides field "device", used in network.pm
-# => probeall with $probe_type is unsafe
-sub probeall {
- my ($probe_type) = @_;
- require sbus_probing::main;
+ { device => basename($_), info => "NVMe block device", media_type => 'hd', bus => 'pci_express' };
+ }
+ glob("/sys/block/nvme*");
+}
+
+=item getCPUs()
+
+Returns a list of all CPUs.
+
+=cut
+
+sub getCPUs() {
+ my (@cpus, $cpu);
+ foreach (cat_("/proc/cpuinfo")) {
+ if (/^processor/) { # ix86 specific
+ push @cpus, $cpu if $cpu;
+ $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() {
+ probe_category('multimedia/sound');
+}
+
+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);
+ }
+
+ } 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 ($_modules_conf, $o_mouse) = @_;
+ my $mouse = $o_mouse || {};
+ $mouse->{device} = readlink "/dev/mouse";
+ my $serdev = "serial";
+
+ eval { modules::load($serdev) };
+
+ my @modems;
+
+ probeSerialDevices();
+ 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};
+ }
+ my @devs = pcmcia_probe();
+ foreach my $modem (@modems) {
+ foreach (@devs) { $_->{device} and $modem->{device} = $_->{device} }
+ }
+ @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 get_winmodems() {
+ matching_driver__regexp('www\.linmodems\.org'),
+ matching_driver(list_modules::category2modules('network/modem'),
+ list_modules::category2modules('network/slmodem'));
+}
+
+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();
+}
+
+=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";
+}
+
+=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".*")
+EOF
+
+$usbtable_addons = <<'EOF';
+# add here lines conforming the usbtable format (0xXXXX\t0xXXXX\t"\w+"\t".*")
+EOF
+
+sub install_addons {
+ my ($prefix) = @_;
+
+ #- this test means install_addons can only be called after ldetect-lst has been installed.
+ if (-d "$prefix/usr/share/ldetect-lst") {
+ my $update = 0;
+ foreach ([ 'pcitable.d', $pcitable_addons ], [ 'usbtable.d', $usbtable_addons ]) {
+ my ($dir, $str) = @$_;
+ -d "$prefix/usr/share/ldetect-lst/$dir" && $str =~ /^[^#]/m and $update = 1 and
+ output "$prefix/usr/share/ldetect-lst/$dir/95drakx.lst", $str;
+ }
+ $update and run_program::rooted($prefix, "/usr/sbin/update-ldetect-lst");
+ }
+}
+
+sub add_addons {
+ my ($addons, @l) = @_;
+
+ foreach (split "\n", $addons) {
+ /^\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 qq(bad detect_devices::probeall_addons line "$_");
+ foreach (@l) {
+ $_->{vendor} == hex $vendor && $_->{id} == hex $id or next;
+ put_in_hash($_, { driver => $driver, description => $description });
+ }
+ }
+ @l;
+}
+
+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->{bus} = 'PCI';
+ $l->{sysfs_device} = '/sys/bus/pci/devices/' . get_pci_sysfs_path($l);
+ $l;
+ } c::pci_probe());
+}
+
+=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->{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 $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 = {
+ vendor => hex($2), id => hex($4),
+ description => join('|', $1, $3),
+ bus => 'Firewire',
+ };
+ } elsif (/Software Specifier ID: (\w+)/) {
+ $e->{specifier_id} = hex $1;
+ } elsif (/Software Version: (\w+)/) {
+ $e->{specifier_version} = hex $1;
+ }
+ }
+
+ foreach (@l) {
+ 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() {
+ require modalias;
require modules;
- pci_probe($probe_type), usb_probe(), sbus_probing::main::probe(), modules::get_pcmcia_devices();
+ 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);
+}
+
+=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;
+ }
+ }
+ @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
+sub probeall() {
+ return if $::noauto;
+
+ pci_probe(), usb_probe(), firewire_probe(), pcmcia_probe(), dmi_probe(), acpi_probe(), getInputDevices_and_usb();
}
-sub matching_desc {
+sub probeall_update_cache() {
+ return if $::noauto;
+ @pci = pci_probe__real(), @usb = usb_probe__real(), firewire_probe(), pcmcia_probe(), dmi_probe();
+}
+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} ? $_->{driver} : 'unknown',
- $_->{description} eq '(null)' ? sprintf("Vendor=0x%04x Device=0x%04x", $_->{vendor}, $_->{id}) : $_->{description},
+ $_->{driver} || 'unknown',
+ $_->{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(1);
-}
-sub check {
- my ($l) = @_;
- my $ok = $l->{driver} !~ /(unknown|ignore)/;
- $ok or log::l("skipping $l->{description}, no module available (if you know one, please mail install\@mandrakesoft.com)");
- $ok
+ } probeall();
}
-
sub tryOpen($) {
- local *F;
- sysopen F, devices::make($_[0]), c::O_NONBLOCK() and *F;
+ my $F;
+ sysopen($F, devices::make($_[0]), c::O_NONBLOCK()) && $F;
}
sub tryWrite($) {
- local *F;
- sysopen F, devices::make($_[0]), 1 | c::O_NONBLOCK() and *F;
+ my $F;
+ sysopen($F, devices::make($_[0]), 1 | c::O_NONBLOCK()) && $F;
}
-sub syslog {
- -r "/tmp/syslog" and return map { /<\d+>(.*)/ } cat_("/tmp/syslog");
- `$ENV{LD_LOADER} /bin/dmesg`;
+my @dmesg;
+sub syslog() {
+ if (-r "/tmp/syslog") {
+ map { /<\d+>(.*)/ } cat_("/tmp/syslog");
+ } else {
+ @dmesg = `/bin/dmesg` if !@dmesg;
+ @dmesg;
+ }
}
-sub hasSMP { c::detectSMP() }
-sub hasPCMCIA { $::o->{pcmcia} } #- because /proc/pcmcia seems not to be present on 2.4 at least (or use /var/run/stab)
+sub get_mac_model() {
+ my $mac_model = cat_("/proc/device-tree/model") || die "Cannot open /proc/device-tree/model";
+ log::l("Mac model: $mac_model");
+ $mac_model;
+}
-#- 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)'));
+sub get_mac_generation() {
+ cat_('/proc/cpuinfo') =~ /^pmac-generation\s*:\s*(.*)/m ? $1 : "Unknown Generation";
}
-sub hasUltra66 {
- die "hasUltra66 deprecated";
- #- keep it BUT DO NOT USE IT as now included in kernel.
- cat_("/proc/cmdline") =~ /(ide2=(\S+)(\s+ide3=(\S+))?)/ and return $1;
+sub hasSMP() {
+ return if $::testing;
+ (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} }
- my @l = map { $_->{verbatim} } matching_desc('HPT|Ultra66') or return;
-
- my $ide = sprintf "ide2=0x%x,0x%x ide3=0x%x,0x%x",
- @l == 2 ?
- (map_index { hex($_) + (odd($::i) ? 1 : -1) } map { (split ' ')[3..4] } @l) :
- (map_index { hex($_) + (odd($::i) ? 1 : -1) } map { (split ' ')[3..6] } @l);
+my (@dmis, $dmidecode_already_runned);
- log::l("HPT|Ultra66: found $ide");
- $ide;
-}
+=item dmidecode()
-sub whatParport() {
- my @res = ();
- foreach (0..3) {
- my $elem = {};
- local *F;
- open F, "/proc/parport/$_/autoprobe" or open F, "/proc/sys/dev/parport/parport$_/autoprobe" or next;
- {
- local $_;
- while (<F>) { $elem->{$1} = $2 if /(.*):(.*);/ }
+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 };
}
- push @res, { port => "/dev/lp$_", val => $elem};
}
- @res;
+ $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),
+ };
}
-sub usbMice { grep { $_->{media_type} =~ /\|Mouse/ && $_->{driver} !~ /Tablet:wacom/} usb_probe() }
-sub usbWacom { grep { $_->{driver} =~ /Tablet:wacom/ } usb_probe() }
-sub usbKeyboards { grep { $_->{media_type} =~ /\|Keyboard/ } usb_probe() }
-sub usbZips { grep { $_->{media_type} =~ /Mass Storage\|/ } usb_probe() }
+=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 *
-sub whatUsbport() {
- my ($i, $elem, @res) = (0, {});
- foreach (grep { $_->{media_type} =~ /Printer/ } usb_probe()) {
- my ($manufacturer, $model) = split '\|', $_->{description};
- $_->{description} =~ s/Hewlett[-\s_]Packard/HP/;
- push @res, { port => "/dev/usb/lp$i", val => { CLASS => 'PRINTER',
- MODEL => $model,
- MANUFACTURER => $manufacturer,
- DESCRIPTION => $_->{description},
- }};
- ++$i;
+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
+
+sub isLaptop() {
+ 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));
+}
+
+=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());
}
- @res;
+ return $hasCPUMicrocode;
}
-#-CLASS:PRINTER;
-#-MODEL:HP LaserJet 1100;
-#-MANUFACTURER:Hewlett-Packard;
-#-DESCRIPTION:HP LaserJet 1100 Printer;
-#-COMMAND SET:MLC,PCL,PJL;
-sub whatPrinter() {
- my @res = (whatParport(), whatUsbport());
- grep { $_->{val}{CLASS} eq "PRINTER"} @res;
+=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/;
}
-sub whatPrinterPort() {
- grep { tryWrite($_)} qw(/dev/lp0 /dev/lp1 /dev/lp2 /dev/usb/lp0 /dev/usb/lp1 /dev/usb/lp2);
+=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
+ unpack("C", $tmp);
}
-sub probeSerialDevices {
- #- make sure the device are created before probing.
- foreach (0..3) { devices::make("/dev/ttyS$_") }
+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$_");
+ #- and make sure the device is a real terminal (major is 4).
+ int((stat "/dev/ttyS$_")[6]/256) == 4 or $serialprobe{"/dev/ttyS$_"} = undef;
+ }
#- for device already probed, we can safely (assuming device are
#- not moved during install :-)
#- include /dev/mouse device if using an X server.
- -d "/var/lock" or mkdir "/var/lock", 0755;
+ mkdir_p("/var/lock");
-l "/dev/mouse" and $serialprobe{"/dev/" . readlink "/dev/mouse"} = undef;
foreach (keys %serialprobe) { m|^/dev/(.*)| and touch "/var/lock/LCK..$1" }
print STDERR "Please wait while probing serial ports...\n";
#- start probing all serial ports... really faster than before ...
#- ... but still take some time :-)
- local *F; open F, "$ENV{LD_LOADER} serial_probe |";
- local $_;
- my %current = (); while (<F>) {
- $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;
+ }
}
- close F;
foreach (values %serialprobe) {
$_->{DESCRIPTION} =~ /modem/i and $_->{CLASS} = 'MODEM'; #- hack to make sure a modem is detected.
@@ -390,35 +1688,82 @@ 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 {
- eval { modules::load('md') };
- my $md = devices::make("md0");
- local *F;
- sysopen F, $md, 2 or return;
- ioctl F, 2324, 0;
+sub probeall_unavailable_modules() {
+ map {
+ my $driver = $_->{driver};
+ $driver !~ /:/ &&
+ !member($driver, 'hub', 'unknown', 'amd64_agp') &&
+ !modules::module_is_available($driver) ?
+ $driver :
+ @{[]};
+ } probeall();
}
-sub raidAutoStart {
- log::l("raidAutoStart");
- my %personalities = ( '1' => 'linear', '2' => 'raid0', '3' => 'raid1', '4' => 'raid5' );
- raidAutoStartIoctl() or log::l("warning, RAID_AUTORUN not supported by kernel"), return;
- if (my @needed_perso = map { if_(/^kmod: failed.*md-personality-(.)/, $personalities{$1}) } syslog()) {
- log::l("RAID: autostart needs personality from $_"), eval { modules::load($_) } foreach @needed_perso;
- return raidAutoStartIoctl();
- } else {
- 1;
+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 {
+ local ($_) = @_;
+ return 'camera' if /\bcamera\b/i;
+ return 'memory_card' if /\bmemory\s?stick\b/i || /\bcompact\s?flash\b/i || /\bsmart\s?media\b/i;
+ return 'memory_card' if /DiskOnKey/i || /IBM-DMDM/i;
+ return 'zip' if /\bzip\s?(100|250|750)/i;
+ return 'floppy' if /\bLS-?120\b/i;
+ return;
+}
+
+sub usb2removable {
+ my ($e) = @_;
+ $e->{usb_driver} or return;
+
+ if ($e->{usb_driver} =~ /Removable:(.*)/) {
+ return $1;
+ } elsif (my $name = usb_description2removable($e->{usb_description})) {
+ return $name;
}
+ undef;
}
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1; #
+sub suggest_mount_point {
+ my ($e) = @_;
+
+ my $name = $e->{media_type};
+ if (member($e->{media_type}, 'hd', 'fd')) {
+ if (exists $e->{usb_driver}) {
+ $name = usb2removable($e) || 'removable';
+ } elsif (isZipDrive($e)) {
+ $name = 'zip';
+ } elsif ($e->{media_type} eq 'fd') {
+ $name = 'floppy';
+ } else {
+ 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 15f470e47..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,44 +8,53 @@ use run_program;
use log;
use c;
-1;
-
-
-sub size($) {
- local *F;
- sysopen F, $_[0], 0 or log::l("open $_[0]: $!"), return 0;
-
- my $valid_offset = sub { sysseek(F, $_[0], 0) && sysread(F, my $a, 1) };
-
- #- first try getting the size nicely
- my $size = 0;
- ioctl(F, c::BLKGETSIZE(), $size) and return unpack("i", $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;
+sub del_loop {
+ my ($dev) = @_;
+ run_program::run("losetup", "-d", $dev);
+}
+sub find_free_loop() {
+ 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
+ return $dev;
}
- $low + 1;
+ die "no free loop found";
}
-
sub set_loop {
- my ($file) = @_;
+ 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)
+ || run_program::run("losetup", "-r", $dev, $file) or return;
+ }
+ $dev;
+}
- foreach (0..7) {
- local *F;
+sub find_compressed_image {
+ my ($name) = @_;
+ foreach (0..255) {
my $dev = make("loop$_");
- sysopen F, $dev, 2 or next;
- !ioctl(F, c::LOOP_GET_STATUS(), my $tmp) && $! == 6 or next; #- 6 == ENXIO
- log::l("trying with loop $dev");
- return c::set_loop(fileno F, $file) && $dev;
+ 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 {
@@ -55,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;
@@ -88,44 +78,57 @@ sub entry {
$type = c::S_IFBLK();
$major = ($1 eq 'ida' ? 72 : 104) + $2;
$minor = 16 * $3 + ($4 || 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 ],
- }}{$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 ],
- "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
- "zero" => [ c::S_IFCHR(), 1, 5 ],
- }}{$_} or die "unknown device $_ (caller is " . join(":", caller()) . ")" };
+ @{ ${{
+ "atibm" => [ c::S_IFCHR(), 10, 3 ],
+ }}{$_} || [] };
+ }
+ # 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);
}
@@ -133,21 +136,58 @@ sub entry {
sub make($) {
local $_ = my $file = $_[0];
- if (m,^(.*/(?:dev|tmp))/(.*),) {
+ if (m!^(.*/dev)/(.*)!) {
$_ = $2;
} else {
- -e $file or $file = "/tmp/$_";
- -e $file or $file = "/dev/$_";
+ $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()) . ")";
+ my ($type, $major, $minor) = entry($_);
#- make a directory for this inode if needed.
- mkdir dirname($file), 0755;
+ 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];
+}
+
+sub prefix_for_dev {
+ my ($dev) = @_;
+ $dev . ($dev =~ /\d$/ ? 'p' : '');
+}
+
+sub should_prefer_UUID {
+ my ($dev) = @_;
+ $dev =~ /^((?:[hsv]|xv)d|mmcblk|nvme)/;
+}
+
+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
new file mode 100644
index 000000000..9036596b3
--- /dev/null
+++ b/perl-install/diskdrake/dav.pm
@@ -0,0 +1,130 @@
+package diskdrake::dav;
+
+use diagnostics;
+use strict;
+use diskdrake::interactive;
+use common;
+
+sub main {
+ my ($in, $all_hds) = @_;
+ my $davs = $all_hds->{davs};
+
+ $in->do_pkgs->ensure_binary_is_installed('davfs2', 'mount.davfs2') or return;
+
+ my $quit;
+ do {
+ $in->ask_from_({ ok => '', messages => formatAlaTeX(
+N("WebDAV is a protocol that allows you to mount a web server's directory
+locally, and treat it like a local filesystem (provided the web server is
+configured as a WebDAV server). If you would like to add WebDAV mount
+points, select \"New\".")) },
+ [
+ (map {
+ 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"), clicked_may_quit => sub { $quit = 1 } },
+ ]);
+ } until $quit;
+
+ diskdrake::interactive::Done($in, $all_hds);
+}
+
+sub create {
+ my ($in, $all_hds) = @_;
+
+ 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 {
+ my ($in, $dav_, $all_hds) = @_;
+
+ my $dav = { %$dav_ }; #- working on a local copy so that "Cancel" works
+
+ my $action;
+ 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;
+ $exit = $actions{$action}->($in, $dav, $all_hds);
+ }
+ %$dav_ = %$dav; #- applying
+}
+
+sub actions {
+ my ($dav) = @_;
+
+ (
+ if_($dav && $dav->{isMounted}, N_("Unmount") => sub { try('Unmount', @_) }),
+ if_($dav && $dav->{mntpoint} && !$dav->{isMounted}, N_("Mount") => sub { try('Mount', @_) }),
+ N_("Server") => \&ask_server,
+ N_("Mount point") => \&mount_point,
+ N_("Options") => \&options,
+ N_("Remove") => \&remove,
+ N_("Done") => sub {},
+ );
+}
+
+sub try {
+ my ($name, $in, $dav) = @_;
+ my $f = $diskdrake::interactive::{$name} or die "unknown function $name";
+ eval { $f->($in, {}, $dav) };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ }
+}
+
+sub ask_server {
+ my ($in, $dav, $_all_hds) = @_;
+
+ my $server = $dav->{device};
+ $in->ask_from_({ messages => N("Please enter the WebDAV server URL"),
+ focus_first => 1,
+ callbacks => {
+ complete => sub {
+ $server =~ m!https?://! or $in->ask_warn('', N("The URL must begin with http:// or https://")), return 1;
+ 0;
+ },
+ } },
+ [ { val => \$server } ]) or return;
+ $dav->{device} = $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 {
+ my ($dav) = @_;
+
+ my $info = '';
+ $info .= N("Server: ") . "$dav->{device}\n" if $dav->{device};
+ $info .= N("Mount point: ") . "$dav->{mntpoint}\n" if $dav->{mntpoint};
+ $info .= N("Options: %s", $dav->{options}) if $dav->{options};
+ $info;
+}
+
+1;
diff --git a/perl-install/diskdrake/hd_gtk.pm b/perl-install/diskdrake/hd_gtk.pm
new file mode 100644
index 000000000..ed3955ea7
--- /dev/null
+++ b/perl-install/diskdrake/hd_gtk.pm
@@ -0,0 +1,516 @@
+package diskdrake::hd_gtk;
+
+use diagnostics;
+use strict;
+
+use common;
+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 devices;
+use log;
+use fsedit;
+use feature qw(state);
+
+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);
+
+
+=head1 SYNOPSYS
+
+ 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', 'dmcrypt' }
+ hd | hd_lvm | part_raid[] | part_dmcrypt[] | part_loopback[] | raw_hd[] val
+
+ #
+ widget main_box
+ widget display_box
+ widget action_box
+ widget info_box
+} current_kind
+
+ part current_entry
+
+ 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, $do_force_reload) = @_;
+
+ @notebook = ();
+
+ local $in->{grab} = 1;
+
+ $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_(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, $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 fs::get::hds($all_hds);
+ create_automatic_notebooks($notebook_widget);
+ 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);
+
+ $notebook_widget->signal_connect(switch_page => sub {
+ $current_kind = $notebook[$_[2]];
+ $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;
+ 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;
+}
+
+sub try {
+ my ($name, @args) = @_;
+ my $f = $diskdrake::interactive::{$name} or die "unknown function $name";
+ try_($name, \&$f, @args);
+}
+sub try_ {
+ my ($name, $f, @args) = @_;
+
+ 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);
+
+ Gtk3->main_quit if $v && member($name, 'Done');
+}
+
+sub get_action_box_size() {
+ $::isStandalone ? 200 : 150, $::isEmbedded ? 150 : 180;
+}
+
+################################################################################
+# generic: helpers
+################################################################################
+sub add_kind2notebook {
+ my ($notebook_widget, $kind) = @_;
+ die if $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) = @_;
+ $_->destroy foreach $box->get_children;
+
+ my $box_start = gtknew('HButtonBox', layout => 'start', children_tight => [
+ gtknew('Install_Button', text => N("Help"), clicked => \&interactive_help)
+ ]);
+
+ 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 = Gtk3::Button->new(translate($s));
+ $done_button = $button if $s eq 'Done';
+ 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;
+
+ 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(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) = @_;
+ $_->destroy foreach $box->get_children;
+
+ if ($entry) {
+ my @buttons = map {
+ my $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, 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.
+I suggest you first resize that partition
+(click on it, then click on \"Resize\")") : N("Please click on a partition");
+ gtkpack($box, gtktext_insert(Gtk3::TextView->new, $txt));
+ }
+}
+
+sub per_entry_info_box {
+ my ($box, $kind, $entry) = @_;
+ $_->destroy foreach $box->get_children;
+ my $info;
+ if ($entry) {
+ $info = diskdrake::interactive::format_part_info(kind2hd($kind), $entry);
+ } elsif ($kind->{type} =~ /hd|lvm/) {
+ $info = diskdrake::interactive::format_hd_info($kind->{val});
+ }
+ 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 @parts = kind2parts($kind);
+ my $totalsectors = kind2sectors($kind, @parts);
+ create_buttons4partitions($kind, $totalsectors, @parts);
+}
+
+sub current_entry_changed {
+ my ($kind, $entry) = @_;
+ $current_entry = $entry;
+ if ($kind) {
+ per_entry_action_box($kind->{action_box}, $kind, $entry);
+ per_entry_info_box($kind->{info_box}, $kind, $entry);
+ }
+}
+
+sub create_automatic_notebooks {
+ my ($notebook_widget) = @_;
+
+ $_->{marked} = 0 foreach @notebook;
+ my $may_add = sub {
+ my ($kind) = @_;
+ my @l = grep { $kind->{val} == $_->{val} } @notebook;
+ @l > 1 and log::l("weird: create_automatic_notebooks");
+ $kind = $l[0] || add_kind2notebook($notebook_widget, $kind);
+ $kind->{marked} = 1;
+ };
+ $may_add->(hd2kind($_)) foreach @{$all_hds->{hds}};
+ $may_add->(lvm2kind($_)) foreach @{$all_hds->{lvms}};
+ $may_add->(raid2kind()) if @{$all_hds->{raids}};
+ $may_add->(loopback2kind()) if @{$all_hds->{loopbacks}};
+
+ my $i = 0;
+ @notebook = grep {
+ if ($_->{marked}) {
+ $i++;
+ 1;
+ } else {
+ $notebook_widget->remove_page($i);
+ 0;
+ }
+ } @notebook;
+ @notebook or $in->ask_warn(N("Error"), N("No hard disk drives found")), $in->exit(1);
+}
+
+################################################################################
+# parts: helpers
+################################################################################
+sub create_buttons4partitions {
+ 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;
+ }
+
+ my @parts = grep { $_->{size} > MB(2) || !isEmpty($_) } @all_parts;
+
+ my $ratio = $totalsectors ? ($width - @parts * $minwidth) / $totalsectors : 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) {
+ 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}) && $w == $current_button or return;
+ my $c = chr $event->keyval;
+
+ foreach my $s (diskdrake::interactive::part_possible_actions($in, kind2hd($kind), $entry, $all_hds)) {
+ ${{
+ Create => 'c', Delete => 'd', Format => 'f',
+ Loopback => 'l', Resize => 'r', Type => 't',
+ Mount => 'M', Unmount => 'u', 'Mount point' => 'm',
+ 'Add to LVM' => 'L', 'Remove from LVM' => 'L',
+ 'Add to RAID' => 'R', 'Remove from RAID' => 'R',
+ }}{$s} eq $c or next;
+
+ try($s, kind2hd($kind), $entry);
+ last;
+ }
+ });
+ 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);
+ if ($current_entry && fsedit::are_same_partitions($current_entry, $entry)) {
+ $set_current_button->($w);
+ $w->grab_focus;
+ }
+ }
+}
+
+
+################################################################################
+# disks: helpers
+################################################################################
+sub current_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() {
+ current_hd();
+ $current_entry;
+}
+
+sub kind2hd {
+ my ($kind) = @_;
+ $kind->{type} =~ /hd|lvm/ ? $kind->{val} : bless({}, 'partition_table::raw');
+}
+
+sub hd2kind {
+ my ($hd) = @_;
+ { type => 'hd', name => $hd->{device}, val => $hd };
+}
+
+sub filesystems_button_box() {
+ my @types = (N_("Ext4"), N_("XFS"), N_("Swap"), N_("Windows"),
+ N_("Other"), N_("Empty"));
+ 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, $fs_type, $hd, $part, $all_hds) = @_;
+
+ $part ||= !fs::get::hds_fstab($hd) &&
+ { pt_type => 0, start => 1, size => $hd->{totalsectors} - 1 };
+ $part or return;
+ 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
+################################################################################
+sub lvm2kind {
+ my ($lvm) = @_;
+ { type => 'lvm', name => $lvm->{VG_name}, val => $lvm };
+}
+
+################################################################################
+# raids: helpers
+################################################################################
+sub raid2kind() {
+ { type => 'raid', name => 'raid', val => $all_hds->{raids} };
+}
+
+sub raid2real_kind {
+ my ($raid) = @_;
+ { type => 'raid', name => 'raid', val => $raid };
+}
+
+################################################################################
+# loopbacks: helpers
+################################################################################
+sub loopback2kind() {
+ { type => 'loopback', name => 'loopback', val => $all_hds->{loopbacks} };
+}
+
+1;
diff --git a/perl-install/diskdrake/interactive.pm b/perl-install/diskdrake/interactive.pm
new file mode 100644
index 000000000..59e79782c
--- /dev/null
+++ b/perl-install/diskdrake/interactive.pm
@@ -0,0 +1,1575 @@
+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 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 devices;
+use fsedit;
+use raid;
+use any;
+use log;
+
+=head1 SYNOPSYS
+
+ struct part {
+ int active # one of { 0 | 0x80 } x86 only, primary only
+ int start # in sectors
+ int size # in sectors
+ 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' ...
+ string options # 'defaults', 'noauto'
+ 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
+ # isFormatted means the device is formatted
+ # !isFormatted && notFormatted means the device is not formatted
+ # !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' ... (used for encrypted loopback)
+
+ # internal CHS (Cylinder/Head/Sector)
+ int start_cyl, start_head, start_sec, end_cyl, end_head, end_sec,
+}
+
+ struct part_allocate inherits part {
+ int maxsize # in sectors (alike "size")
+ 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 # 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_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 {
+ # invalid: active, start, device_windobe, CHS
+ string lv_name
+}
+
+
+ struct partition_table_elem {
+ part normal[] #
+ part extended # the main/next extended
+ part raw[4] # primary partitions
+}
+
+ struct geom {
+ int heads
+ int sectors
+ int cylinders
+ int totalcylinders # for SUN, forget it
+ int start # always 0, forget it
+}
+
+ 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
+ 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
+ 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 {
+ 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 fs_type # 'ext2', 'nfs', ...
+ string mntpoint # '/', '/usr' ...
+ string options # 'defaults', 'noauto'
+
+ # invalid: isDirty, will_tell_kernel, rebootNeeded, primary, extended
+}
+
+ struct all_hds {
+ hd hds[]
+ hd_lvm lvms[]
+ 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
+}
+
+
+=cut
+
+
+sub main {
+ my ($in, $all_hds, $do_force_reload) = @_;
+
+ if ($in->isa('interactive::gtk')) {
+ require diskdrake::hd_gtk;
+ goto &diskdrake::hd_gtk::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 = [ fs::get::fstab_and_holes($all_hds) ];
+ my $choose_part = sub {
+ $current_part = $in->ask_from_listf('diskdrake', translate($choose_txt),
+ sub {
+ my $hd = fs::get::part2hd($_[0] || return, $all_hds);
+ format_part_info_short($hd, $_[0]);
+ }, $parts_and_holes, $current_part) || return;
+ $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,
+ (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"),
+ 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));
+ }
+ if ($v eq 'force_reload') {
+ $all_hds = $do_force_reload->();
+ }
+ $current_hd = $current_part = '' if !is_part_existing($current_part, $all_hds);
+ } else {
+ $choose_part->();
+ }
+ partition_table::assign_device_numbers($_) foreach fs::get::hds($all_hds);
+ }
+ return if eval { Done($in, $all_hds) };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ }
+ goto &main;
+}
+
+
+
+
+################################################################################
+# general actions
+################################################################################
+sub general_possible_actions {
+ my ($_in, $_all_hds) = @_;
+ if_($::isInstall, N_("More"));
+}
+
+sub Done {
+ my ($in, $all_hds) = @_;
+ eval { raid::verify($all_hds->{raids}) };
+ if (my $err = $@) {
+ $::expert or die;
+ $in->ask_okcancel(N("Confirmation"), [ formatError($err), N("Continue anyway?") ]) or return;
+ }
+ foreach (@{$all_hds->{hds}}) {
+ 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("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;
+}
+
+################################################################################
+# per-hd actions
+################################################################################
+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")),
+ );
+}
+
+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 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;
+ } 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; #- 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, $all_hds, $hd) or return;
+
+ my %all_hds_ = %$all_hds;
+ $all_hds_{hds} = [ sort { $a == $hd ? -1 : 1 } fs::get::hds($all_hds) ];
+
+ eval { fsedit::auto_allocate(\%all_hds_, $suggestions, $hd) };
+ if ($@) {
+ $@ =~ /partition table already full/ or die;
+
+ $in->ask_warn("", [
+ N("All primary partitions are used"),
+ 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 $r;
+ $in->ask_from(N("More"), '',
+ [
+ { val => N("Reload partition table"), clicked_may_quit => sub { $r = 'force_reload'; 1 } },
+ ],
+ ) && $r;
+}
+
+sub Hd_info {
+ my ($in, $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) = @_;
+ $part or return;
+
+ my %actions = my @l = (
+ 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_("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}',
+ canModifyRAID => 'isPartOfRAID($part) && !isMounted(fs::get::device2part($part->{raid}, $all_hds->{raids}))',
+ );
+ 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 {
+ 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;
+ 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)) {
+ $part->{mntpoint} = '' if !$do_suggest_mount_point;
+ } else {
+ $part->{size} = $part->{maxsize};
+ 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_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', SpinButton => $::expert, changed => sub { $mb_size = min($mb_size, to_Mb($max - $part->{start})) } },
+ ),
+ { 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), '' ],
+ 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_(isLVM($hd),
+ { label => N("Logical volume name "), val => \$part->{lv_name}, list => [ qw(root swap usr home var), '' ], sort => 0, not_edit => 0 },
+ ),
+ { 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
+ $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::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 {
+ 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 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;
+ } else {
+ $in->ask_warn(N("Error"), formatError($err)) if !$seen;
+ return 1;
+ }
+ }
+ 0;
+ },
+ ) 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);
+ }
+}
+
+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("Warning"), N("Remove the loopback file?"))) {
+ unlink $f;
+ }
+ my $l = $part->{loopback_device}{loopback};
+ @$l = grep { $_ != $part } @$l;
+ delete $part->{loopback_device}{loopback} if @$l == 0;
+ fsedit::recompute_loopbacks($all_hds);
+ } else {
+ partition_table::remove($hd, $part);
+ warn_if_renumbered($in, $hd);
+ }
+}
+
+sub Type {
+ my ($in, $hd, $part) = @_;
+
+ 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/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 = fs::type::type_names($::expert, $hd);
+
+ #- 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 = 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 && fs::type::type_name2subpart($type_name);
+
+ 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}))) {
+ put_in_hash($part, $type);
+ set_isFormatted($part, 1); #- assume that if tune2fs works, partition is formatted
+
+ #- 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
+ $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) = @_;
+
+ my $migrate_files;
+ my $mntpoint = $part->{mntpoint} || do {
+ my $part_ = { %$part };
+ if (fsedit::suggest_part($part_, $all_hds)) {
+ fs::get::has_mntpoint('/', $all_hds) || $part_->{mntpoint} eq '/boot' ? $part_->{mntpoint} : '/';
+ } else { '' }
+ };
+ 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("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, $part, $all_hds) or return 1;
+ $migrate_files = need_migration($in, $mntpoint) or return 1;
+ 0;
+ } },
+ },
+ [
+ { 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;
+
+ if ($migrate_files eq 'migrate') {
+ format_($in, $hd, $part, $all_hds) or return;
+ migrate_files($in, $hd, $part);
+ fs::mount::part($part);
+ }
+}
+sub Mount_point_raw_hd {
+ my ($in, $part, $all_hds, @propositions) = @_;
+
+ my $mntpoint = $part->{mntpoint} || shift @propositions;
+ $in->ask_from(
+ N("Mount point"),
+ '',
+ [
+ { 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;
+ 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, $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 ($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"));
+
+ 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 (member($part->{fs_type}, qw(ext2 ext3 ext4))) {
+ write_partitions($in, $hd) or return;
+ 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 ($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 ($part->{fs_type} eq 'reiserfs') {
+ write_partitions($in, $hd) or return;
+ $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 ($part->{fs_type} eq 'xfs') {
+ $min = $part->{size}; #- ensure the user can only increase
+ $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("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;
+ } else {
+ ask_alldatawillbelost($in, $part, N_("After resizing partition %s, all data on this partition will be lost")) or return;
+ }
+ }
+
+ 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;
+
+
+ my $size = from_Mb($mb_size, $min, $max);
+ $part->{size} == $size and return;
+
+ my $oldsize = $part->{size};
+ $low_part->{size} = $part->{size} = $size;
+ $hd->adjustEnd($low_part);
+
+ undef $@;
+ my $_b = before_leaving { $@ and $part->{size} = $oldsize };
+
+ my $adjust = sub {
+ my ($write_partitions) = @_;
+
+ if (isLVM($hd)) {
+ lvm::lv_resize($low_part, $oldsize);
+ } else {
+ 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 || 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("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}) {
+ $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("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_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) {
+ set_isFormatted($part, 1);
+ } else {
+ 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 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, 0, sub {
+ my ($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};
+
+ 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 (ref($md_part)) {
+ raid::add($md_part, $part);
+ raid::write_conf($raids) if $::isStandalone;
+ } else {
+ 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);
+ }
+}
+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("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 $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);
+ lvm::check($in->do_pkgs) if $::isStandalone;
+ lvm::add_to_VG($part, $lvm);
+}
+sub Unmount {
+ my ($_in, $_hd, $part) = @_;
+ fs::mount::umount_part($part);
+}
+sub RemoveFromRAID {
+ my ($_in, $_hd, $part, $all_hds) = @_;
+ raid::removeDisk($all_hds->{raids}, $part);
+}
+sub RemoveFromDm {
+ my ($_in, $_hd, $part, $all_hds) = @_;
+ 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, $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 {
+ my ($in, $_hd, $part, $all_hds) = @_;
+ 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("Error"), N("This partition cannot be used for loopback")), return;
+
+ 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};
+ fs::type::suggest_fs_type($part, defaultFS());
+ }
+ delete $part->{mntpoint}; # we do not want the suggested mntpoint
+
+ 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 => 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"), N("Give a file name")), return 1, 0;
+ $part->{loopback_file} =~ s|^([^/])|/$1|;
+ 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 {
+ $part->{size} = from_Mb($mb_size, $min, $max);
+ }
+ 0;
+ }) or return;
+ 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 @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 },
+ );
+
+
+ $in->ask_from(N("Mount options"),
+ '',
+ [
+ { 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 },
+ ],
+ complete => sub {
+ if (($options->{usrquota} || $options->{grpquota}) && !$::isInstall) {
+ $in->do_pkgs->ensure_binary_is_installed('quota', 'quotacheck');
+ }
+ }) or return;
+
+ fs::mount_options::pack($part, $options, $unknown);
+ 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;
+ *{Use} = \&dmcrypt_open;
+ *{'Remove from dm'} = \&RemoveFromDm;
+ *{'Add to LVM'} = \&Add2LVM;
+ *{'Remove from LVM'} = \&RemoveFromLVM;
+ *{'Use for loopback'} = \&Loopback;
+ *{'Hard disk drive information'} = \&Hd_info;
+}
+
+
+################################################################################
+# helpers
+################################################################################
+
+sub is_part_existing {
+ my ($part, $all_hds) = @_;
+ $part && any { fsedit::are_same_partitions($part, $_) } fs::get::fstab_and_holes($all_hds);
+}
+
+sub modifyRAID {
+ my ($in, $raids, $md_part) = @_;
+ my $new_device = $md_part->{device};
+ $in->ask_from(N("Options"), '',
+ [
+{ 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::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;
+}
+
+
+sub ask_alldatamaybelost {
+ my ($in, $part, $msg) = @_;
+
+ maybeFormatted($part) or return 1;
+
+ #- here we may have a non-formatted or a formatted partition
+ #- -> doing as if it was formatted
+ $in->ask_okcancel(N("Read carefully"),
+ [ N("Be careful: this operation is dangerous."), sprintf(translate($msg), $part->{device}) ], 1);
+}
+sub ask_alldatawillbelost {
+ my ($in, $part, $msg) = @_;
+
+ maybeFormatted($part) or return 1;
+
+ #- 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);
+}
+
+sub partitions_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 { fs::type::check($type->{fs_type}, $hd, $part) };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ 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, $part, $all_hds) = @_;
+ my $seen;
+ 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(N("Error"), formatError($err)) if !$seen;
+ return;
+ }
+ 1;
+}
+sub check {
+ my ($in, $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, $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;
+ 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;
+ }
+ 1;
+}
+
+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;
+ # 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;
+}
+
+sub need_migration {
+ my ($in, $mntpoint) = @_;
+
+ my @l = grep { $_ ne "lost+found" } all($mntpoint);
+ if (@l && $::isStandalone) {
+ my $choice;
+ my @choices = (N_("Move files to the new partition"), N_("Hide files"));
+ $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("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", $_));
+ system("cp", "-a", $_, $handle->{dir}) == 0 or die "copying failed";
+ }
+ foreach (@l) {
+ $wait->set(N("Removing %s", $_));
+ system("rm", "-rf", $_) == 0 or die "removing files failed";
+ }
+}
+
+sub warn_if_renumbered {
+ my ($in, $hd) = @_;
+ my $l = delete $hd->{partitionsRenumbered};
+ return if is_empty_array_ref($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
+#- 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 <= 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) = @_;
+
+ my $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 (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(", %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 || 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 %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 %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});
+ }
+ if (isApple($part)) {
+ $info .= N("\nChances are, this partition is\na Driver partition. You should\nprobably leave it alone.\n");
+ }
+ if (isAppleBootstrap($part)) {
+ $info .= N("\nThis special Bootstrap\npartition is for\ndual-booting your system.\n");
+ }
+ # restrict the length of the lines
+ $info =~ s/(.{60}).*/$1.../mg;
+ $info;
+}
+
+sub format_part_info_short {
+ my ($hd, $part) = @_;
+ isEmpty($part) ? N("Free space on %s (%s)", $hd->{device}, formatXiB($part->{size}, 512))
+ : partition_table::description($part);
+}
+
+sub format_hd_info {
+ my ($hd) = @_;
+
+ my $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}{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;
+}
+
+sub format_raw_hd_info {
+ my ($raw_hd) = @_;
+
+ my $info = '';
+ $info .= N("Mount point: ") . "$raw_hd->{mntpoint}\n" if $raw_hd->{mntpoint};
+ $info .= format_hd_info($raw_hd);
+ 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;
+ $info .= N("Options: %s", $s);
+ }
+ $info;
+}
+
+#- get the minimal size of partition in sectors to help diskdrake on
+#- limit cases, include a cylinder + start of a eventually following
+#- 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, $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"),
+ messages => N("Choose your filesystem encryption key"),
+ callbacks => {
+ complete => sub {
+ 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, focus => sub { 1 } },
+{ label => N("Encryption key (again)"), val => \$encrypt_key2, hidden => 1 },
+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
new file mode 100644
index 000000000..f3b73ed4b
--- /dev/null
+++ b/perl-install/diskdrake/removable.pm
@@ -0,0 +1,52 @@
+package diskdrake::removable;
+
+use diagnostics;
+use strict;
+use diskdrake::interactive;
+use common;
+use fs;
+
+sub main {
+ my ($in, $all_hds, $raw_hd) = @_;
+ my %actions = my @actions = actions();
+ my $action;
+ while ($action ne 'Done') {
+ $action = $in->ask_from_list_('',
+ diskdrake::interactive::format_raw_hd_info($raw_hd),
+ [ map { $_->[0] } group_by2 @actions ], 'Done') or return;
+ $actions{$action}->($in, $raw_hd, $all_hds);
+ }
+}
+
+sub actions() {
+ (
+ N_("Mount point") => \&mount_point,
+ N_("Options") => \&options,
+ N_("Type") => \&type,
+ N_("Done") => \&done,
+ );
+}
+
+sub done {
+ my ($in, $_raw_hd, $all_hds) = @_;
+ diskdrake::interactive::Done($in, $all_hds);
+}
+sub options {
+ my ($in, $raw_hd, $all_hds) = @_;
+ diskdrake::interactive::Options($in, {}, $raw_hd, $all_hds);
+}
+sub mount_point {
+ my ($in, $raw_hd, $all_hds) = @_;
+ 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::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 => \$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
new file mode 100644
index 000000000..db591e968
--- /dev/null
+++ b/perl-install/diskdrake/resize_ntfs.pm
@@ -0,0 +1,36 @@
+package diskdrake::resize_ntfs;
+
+use diagnostics;
+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 =~ /You might resize at (\d+) bytes or / && $1 / 512;
+}
+
+sub resize {
+ my ($o, $size) = @_;
+ 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::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
new file mode 100644
index 000000000..b2417ce83
--- /dev/null
+++ b/perl-install/diskdrake/smbnfs_gtk.pm
@@ -0,0 +1,271 @@
+package diskdrake::smbnfs_gtk;
+
+use diagnostics;
+use strict;
+
+use fs::get;
+use diskdrake::interactive;
+use common;
+use interactive;
+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);
+
+sub main {
+ ($in, $all_hds, my $type) = @_;
+ my ($kind) = $type eq 'smb' ? smb2kind() : nfs2kind();
+ $kind->check($in) or return;
+
+ 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');
+ $w->{window}->show_all;
+ $w->main;
+}
+
+################################################################################
+# nfs/smb: helpers
+################################################################################
+sub try {
+ my ($kind, $name, @args) = @_;
+ my $f = $diskdrake::interactive::{$name} or die "unknown function $name";
+ try_($kind, $name, \&$f, @args);
+}
+sub try_ {
+ my ($kind, $name, $f, @args) = @_;
+ eval { $f->($in, @args, $all_hds) };
+ if (my $err = $@) {
+ $in->ask_warn(N("Error"), formatError($err));
+ }
+ update($kind);
+ Gtk3->main_quit if member($name, 'Cancel', 'Done');
+}
+
+sub raw_hd_options {
+ my ($in, $raw_hd) = @_;
+ diskdrake::interactive::Options($in, {}, $raw_hd, fs::get::empty_all_hds());
+}
+sub raw_hd_mount_point {
+ my ($in, $raw_hd) = @_;
+ my ($default) = $raw_hd->{device} =~ m|([^/]+)$|;
+ $default =~ s/\s+/-/g;
+ diskdrake::interactive::Mount_point_raw_hd($in, $raw_hd, $all_hds, "/mnt/$default");
+}
+
+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} = gtknew('Frame', text => N("Details"), child => gtknew('Label', text => $info, justify => 'left')));
+}
+
+sub per_entry_action_box {
+ my ($box, $kind, $entry) = @_;
+ $_->destroy foreach $box->get_children;
+
+ my @buttons;
+
+ push @buttons, map {
+ my $s = $_;
+ 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;
+
+ my @l = (
+ if_($entry, N_("Mount point") => \&raw_hd_mount_point),
+ if_($entry && $entry->{mntpoint}, N_("Options") => \&raw_hd_options),
+ N_("Cancel") => sub {},
+ N_("Done") => \&done,
+ );
+ push @buttons, map {
+ my ($txt, $f) = @$_;
+ $f ? gtknew('Button', text => translate($txt), clicked => sub { try_($kind, $txt, $f, $entry) })
+ : gtknew('Label', text => "");
+ } group_by2(@l);
+
+ gtkadd($box, gtknew('HBox', children_loose => \@buttons));
+}
+
+sub done {
+ my ($in) = @_;
+ diskdrake::interactive::Done($in, $all_hds);
+}
+
+sub export_icon {
+ my ($entry) = @_;
+ $entry ||= {};
+ $icons{$entry->{isMounted} ? 'mounted' : $entry->{mntpoint} ? 'has_mntpoint' : 'default'};
+}
+
+sub update {
+ my ($kind) = @_;
+ per_entry_action_box($kind->{action_box}, $kind, $current_entry);
+ per_entry_info_box($kind->{info_box}, $kind, $current_entry);
+ $tree_model->set($current_leaf, 0 => export_icon($current_entry)) if $current_entry;
+}
+
+sub find_fstab_entry {
+ my ($kind, $e, $b_add_or_not) = @_;
+
+ my $fs_entry = $kind->to_fstab_entry($e);
+
+ if (my $fs_entry_ = find { $fs_entry->{device} eq $_->{device} } @{$kind->{val}}) {
+ $fs_entry_;
+ } elsif ($b_add_or_not) {
+ push @{$kind->{val}}, $fs_entry;
+ $fs_entry;
+ } else {
+ undef;
+ }
+}
+
+sub import_tree {
+ my ($kind, $info_box) = @_;
+ my (%servers_displayed, %wservers, %wexports);
+
+ $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 = Gtk3::TreeViewColumn->new;
+ $col->pack_start(my $pixrender = Gtk3::CellRendererPixbuf->new, 0);
+ $col->add_attribute($pixrender, 'pixbuf', 0);
+ $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{$_} = gtknew('Pixbuf', file => "smbnfs_$_");
+ }
+
+ my $add_server = sub {
+ my ($server) = @_;
+ my $identifier = $server->{ip} || $server->{name};
+ my $name = $server->{name} || $server->{ip};
+ $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;
+ };
+ };
+
+ my $find_exports; $find_exports = sub {
+ my ($server) = @_;
+ my @l = eval { $kind->find_exports($server) };
+ return @l if !$@;
+
+ if ($server->{username}) {
+ $in->ask_warn('', N("Cannot login using username %s (bad password?)", $server->{username}));
+ fs::remote::smb::remove_bad_credentials($server);
+ } else {
+ 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') {
+ fs::remote::smb::read_credentials($server, $user);
+ goto $find_exports;
+ }
+ }
+ }
+
+ if ($in->ask_from(N("Domain Authentication Required"),
+ N("Please enter your username, password and domain name to access this host."),
+ [
+ { label => N("Username"), val => \$server->{username} },
+ { label => N("Password"), val => \$server->{password}, hidden => 1 },
+ { label => N("Domain"), val => \$server->{domain} },
+ ])) {
+ goto $find_exports;
+ } else {
+ delete $server->{username};
+ ();
+ }
+ };
+
+ my $add_exports = sub {
+ my ($node) = @_;
+
+ my $path = $tree_model->get_path($node);
+ $tree->expand_row($path, 0);
+
+ 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 ]);
+ $wexports{$tree_model->get_path_str($w)} = $_;
+ }
+ };
+
+ {
+ 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;
+ gtkset($search, text => N("Search for new servers"));
+ }));
+ }
+
+ foreach (uniq(map { ($kind->from_dev($_->{device}))[0] } @{$kind->{val}})) {
+ my $node = $add_server->({ name => $_ });
+ $add_exports->($node);
+ }
+
+ $tree->get_selection->signal_connect(changed => sub {
+ my ($_model, $curr) = $_[0]->get_selected;
+ $curr or return;
+
+ if ($tree_model->iter_parent($curr)) {
+ $current_leaf = $curr;
+ $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->get_window);
+ ugtk3::flush();
+ $add_exports->($curr);
+ gtkset_mousecursor_normal($tree->get_window);
+ }
+ $current_entry = undef;
+ }
+ update($kind);
+ });
+ $tree;
+}
+
+sub add_smbnfs {
+ my ($widget, $kind) = @_;
+ die if $kind->{main_box};
+
+ $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} =
+ 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;
+ update($kind);
+ $kind;
+}
+
+sub nfs2kind() {
+ fs::remote::nfs->new({ type => 'nfs', name => 'NFS', val => $all_hds->{nfss}, no_auto => 1 });
+}
+
+sub smb2kind() {
+ fs::remote::smb->new({ type => 'smb', name => 'Samba', val => $all_hds->{smbs}, no_auto => 1 });
+}
+
+
+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/do_resize_fat b/perl-install/do_resize_fat
deleted file mode 100755
index 41ebf1b83..000000000
--- a/perl-install/do_resize_fat
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/perl
-
-use diagnostics;
-use strict;
-
-use lib qw(/usr/lib/libDrakX);
-use common;
-use resize_fat::main;
-
-local *log::l = sub { print join(' ', @_), "\n" };
-
-@ARGV = qw(/mnt/iso/w +0);
-
-@ARGV == 2 or die "usage: fatresize <device> <size>\n <size> = 100 means `resize to 100Mb'\n <size> = +10 means `keep 10Mb of free space'\n";
-
-my $fs = new resize_fat::main(common::basename($ARGV[0]), $ARGV[0]);
-resize_fat::main::resize($fs, $ARGV[1]);
-
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/fs.pm b/perl-install/fs.pm
index 4257ad62c..76cce10e7 100644
--- a/perl-install/fs.pm
+++ b/perl-install/fs.pm
@@ -1,80 +1,123 @@
-package fs; # $Id$
+package fs;
use diagnostics;
use strict;
-use MDK::Common::System;
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 commands;
use modules;
use fsedit;
-use loopback;
sub read_fstab {
- my ($prefix, $file, $all_options) = @_;
+ 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 (/^Filename\s*Type\s*Size/) {
+ 0; #- when reading /proc/swaps
+ } elsif (/^\s*#/) {
+ $comment .= chomp_($_) . "\n";
+ 0;
+ } else {
+ $comments{$_} = $comment if $comment;
+ $comment = '';
+ 1;
+ }
+ } cat_("$prefix$file");
+
+ #- attach comments at the end of fstab to the previous line
+ $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(",", grep {
- if (/fs=(.*)/) {
- $type = $1;
- 0;
- } elsif (/dev=(.*)/) {
- $dev = $1;
- 0;
- } else {
- 1;
- }
- } split(',', $options));
+ s/\\040/ /g foreach $mntpoint, $dev, $options;
+
+ if ($fs_type eq 'ext4') {
+ $options = join(",", grep { !/extents/ } split(',', $options)) || 'defaults';
}
- my $h = { device => $dev, mntpoint => $mntpoint, type => $type, options => $options, if_($all_options, freq => $freq, passno => $passno) };
- ($h->{major}, $h->{minor}) = unmakedev((stat "$prefix$dev")[6]);
+ my $h = {
+ mntpoint => $mntpoint, fs_type => $fs_type,
+ options => $options, comment => $comment,
+ if_(member('keep_freq_passno', @reading_options), freq => $freq, passno => $passno),
+ };
- if ($dev =~ m,/(tmp|dev)/,) {
- 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 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) = fs::mount_options::unpack($h);
+ my $file = delete $options->{'credentials='};
+ my $credentials = fs::remote::smb::read_credentials_raw($file);
+ if ($credentials->{username}) {
+ $options->{"$_="} = $credentials->{$_} foreach qw(username password domain);
+ 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);
}
}
+
$h;
- } cat_("$prefix$file");
+ } @l;
}
sub merge_fstabs {
- my ($fstab, @l) = @_;
+ my ($loose, $fstab, @l) = @_;
foreach my $p (@$fstab) {
- my ($p2) = grep { fsedit::is_same_hd($_, $p) } @l or next;
- @l = grep { !fsedit::is_same_hd($_, $p) } @l;
+ my ($l1, $l2) = partition { fs::get::is_same_hd($_, $p) } @l;
+ my ($p2) = @$l1 or next;
+ @l = @$l2;
- $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}))), next;
-
$p->{mntpoint} = $p2->{mntpoint} if delete $p->{unsafeMntpoint};
- $p->{type} ||= $p2->{type};
- $p->{options} = $p2->{options} if $p->{type} eq 'defaults';
- add2hash($p, $p2);
- $p->{device_alias} ||= $p2->{device_alias} || $p2->{device} if $p->{device} ne $p2->{device};
+ 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->{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;
}
@@ -82,81 +125,101 @@ 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 =
- isNfs($_) ? 'nfs' :
- isThisFs('smbfs', $_) ? 'smb' :
+ $_->{fs_type} eq 'nfs' ? 'nfss' :
+ $_->{fs_type} eq 'cifs' ? 'smbs' :
+ $_->{fs_type} eq 'davfs2' ? 'davs' :
+ isTrueLocalFS($_) || isSwap($_) || isOtherAvailableFS($_) ? '' :
'special';
- push @{$all_hds->{$s}}, $_;
+ 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) {
- if ($::isInstall && $_->{mntpoint} eq '/tmp/hdimage') {
+ log::l("found mounted partition on $_->{device} with $_->{mntpoint}");
+ 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($fstab, @l1, @l2);
+ merge_fstabs('loose', $fstab, @l1, @l2);
}
+# - when using "$loose", it does not merge in type&options from the fstab
sub merge_info_from_fstab {
- my ($fstab, $prefix, $uniq) = @_;
- my @l = grep { !($uniq && fsedit::mntpoint2part($_->{mntpoint}, $fstab)) } read_fstab($prefix, "/etc/fstab", 'all_options');
- merge_fstabs($fstab, @l);
+ my ($fstab, $prefix, $uniq, $loose) = @_;
+
+ my @l = grep {
+ if ($uniq) {
+ 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_default');
+
+ merge_fstabs($loose, $fstab, @l);
}
-sub write_fstab {
- my ($all_hds, $prefix) = @_;
- $prefix ||= '';
+sub get_info_from_fstab {
+ my ($all_hds) = @_;
+ my @l = read_fstab($::prefix, '/etc/fstab', 'keep_default');
+ add2all_hds($all_hds, @l);
+}
- my @l1 = (fsedit::get_really_all_fstab($all_hds), @{$all_hds->{special}});
- my @l2 = read_fstab($prefix, "/etc/fstab", 'all_options');
+sub prepare_write_fstab {
+ my ($fstab, $o_prefix, $b_keep_credentials) = @_;
+ $o_prefix ||= '';
my %new;
+ my (@smb_credentials, @davfs_credentials);
my @l = map {
my $device =
- $_->{device} eq 'none' || member($_->{type}, qw(nfs smbfs)) ?
- $_->{device} :
isLoopback($_) ?
- ($_->{mntpoint} eq '/' ? "/initrd/loopfs$_->{loopback_file}" : $_->{device}) :
- do {
- my $dir = $_->{device} =~ m|^/| ? '' : '/dev/';
- eval { devices::make("$prefix$dir$_->{device}") };
- "$dir$_->{device}";
- };
+ ($_->{mntpoint} eq '/' ? "/initrd/loopfs" : $_->{loopback_device}{mntpoint}) . $_->{loopback_file} :
+ 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("$prefix/$real_mntpoint", 0755);
- 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($_) ?
- (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})) {
@@ -164,224 +227,75 @@ sub write_fstab {
$new{$device} = 1;
$new{$mntpoint} = 1;
- my $options = $_->{options};
- my $type = type2fs($_);
+ my $options = $_->{options} || 'defaults';
+ if (($_->{is_removable} || member($_->{fs_type}, qw(ntfs ntfs-3g))) && !$needed_to_boot && $_->{options} !~ /nofail/) {
+ $options .= ',nofail';
+ }
- my $dev = $_->{device_alias} ? "/dev/$_->{device_alias}" : $device;
-
- # handle bloody supermount special case
- if ($options =~ /supermount/) {
- $options = join(",", "dev=$dev", "fs=$type", grep { $_ ne 'supermount' } split(':', $options));
- ($dev, $type) = ($mntpoint, 'supermount');
+ 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;
+ }
}
- [ $dev, $mntpoint, $type, $options || 'defaults', $freq, $passno ];
- } else {
- ()
- }
- } grep { $_->{device} && ($_->{mntpoint} || $_->{real_mntpoint}) && $_->{type} } (@l1, @l2);
-
- log::l("writing $prefix/etc/fstab");
- output("$prefix/etc/fstab", map { join(' ', @$_) . "\n" } sort { $a->[1] cmp $b->[1] } @l);
-}
+ my $fs_type = $_->{fs_type} || 'auto';
-sub auto_fs() {
- grep { chop; $_ && !/nodev/ } cat_("/etc/filesystems");
-}
+ s/ /\\040/g foreach $mntpoint, $device, $options;
-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;
-}
+ my $file_dep = $options =~ /\b(loop|bind)\b/ ? $device : '';
-# simple function
-# use mount_options_unpack + mount_options_pack for advanced stuff
-sub add_options(\$@) {
- my ($option, @options) = @_;
- my %l; @l{split(',', $$option), @options} = (); delete $l{defaults};
- $$option = join(',', keys %l) || "defaults";
-}
-
-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) ],
- nfs => [ qw(rsize=8192 wsize=8192) ],
- smbfs => [ qw(username= password=) ],
- );
- 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->{supermount} = 1 if 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;
+ [ $file_dep, $mntpoint, $comment . join(' ', $device, $mntpoint, $fs_type, $options, $freq, $passno) . "\n" ];
} 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) = @_;
+ } grep { $_->{device} && ($_->{mntpoint} || $_->{real_mntpoint}) && $_->{fs_type} && ($_->{isFormatted} || !$_->{notFormatted}) } @$fstab;
- my ($non_defaults, $user_implies) = mount_options();
- my @l;
+ sub sort_it {
+ my (@l) = @_;
- if (delete $options->{user}) {
- push @l, 'user';
- foreach (@$user_implies) {
- if (!delete $options->{$_}) {
- # overriding
- $options->{$non_defaults->{$_}} = 1;
+ 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 {
+ sort_it(@l);
}
- }
+ } else {
+ sort { $a->[1] cmp $b->[1] } @l;
+ }
}
- push @l, map_each { if_($::b, $::a =~ /=$/ ? "$::a$::b" : $::a) } %$options;
- push @l, $unknown;
+ @l = sort_it(@l);
- $part->{options} = join(",", grep { $_ } @l);
+ join('', map { $_->[2] } @l), \@smb_credentials, \@davfs_credentials;
}
-sub mount_options_help {
- my %help = map { $_ => '' } @_;
- my %short = map { if_(/(.*?)=/, "$1=" => $_) } keys %help;
-
- foreach (split(':', $ENV{LANGUAGE}), '') {
- my $manpage = "/usr/share/man/$_/man8/mount.8.bz2";
- -e $manpage or next;
-
- my ($tp, $option);
- foreach (`bzip2 -dc $manpage`) {
- my $prev_tp = $tp;
- $tp = /^\.(TP|RE)/;
- my ($s) = /^\.B (.*)/;
- if ($prev_tp && $s eq '\-o' .. /X^/) {
- if (my $v = $prev_tp && $s =~ /^[a-z]/i .. $tp) {
- if ($v == 1) {
- $s = $short{$s} || $s;
- $option = exists $help{$s} && !$help{$s} ? $s : '';
- } elsif ($v !~ 'E0') {
- s/\\//g;
- s/\s*"(.*?)"\s*/$1/g if s/^\.BR\s+//;
- s/^\.B\s+//;
- $help{$option} .= $_ if $option;
- }
- }
- }
- }
- }
- %help;
-}
-
-sub set_default_options {
- my ($part, $is_removable, $useSupermount, $security, $iocharset, $codepage) = @_;
-
- my ($options, $unknown) = mount_options_unpack($part);
-
- if ($is_removable) {
- $options->{supermount} = $useSupermount;
- $part->{type} = 'auto'; # if supermount, code below will handle choosing the right type
- }
-
- my $is_auto = isThisFs('auto', $part);
-
- if ($options->{supermount} && $is_auto) {
- # this can't work, guessing :-(
- $part->{type} = fs2type($part->{media_type} eq 'cdrom' ? 'iso9660' : 'vfat');
- $is_auto = 0;
- }
-
- 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 (isNfs($part)) {
- put_in_hash($options, {
- nosuid => 1, 'rsize=8192,wsize=8192' => 1,
- 'iocharset=' => $iocharset,
- });
- }
- if (isFat($part) || $is_auto) {
-
- put_in_hash($options, {
- user => 1, exec => 1,
- }) if !exists $part->{rootDevice}; # partition means no removable media
-
- put_in_hash($options, {
- 'umask=0' => $security < 3, 'iocharset=' => $iocharset, 'codepage=' => $codepage,
- });
- }
- if (isThisFs('ntfs', $part) || $is_auto) {
- put_in_hash($options, { 'iocharset=' => $iocharset });
- }
- if (isThisFs('iso9660', $part) || $is_auto) {
- put_in_hash($options, { user => 1, exec => 1, });
- }
- if (isThisFs('reiserfs', $part)) {
- $options->{notail} = 1;
- }
- if (isLoopback($_) && !isSwap($_)) { #- 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 fstab_to_string {
+ my ($all_hds, $o_prefix) = @_;
+ 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 set_all_default_options {
- my ($all_hds, $useSupermount, $security, $iocharset, $codepage) = @_;
-
- my @removables = @{$all_hds->{raw_hds}};
-
- foreach my $part (fsedit::get_really_all_fstab($all_hds)) {
- set_default_options($part, member($part, @removables), $useSupermount, $security, $iocharset, $codepage);
- }
+sub write_fstab {
+ my ($all_hds, $o_prefix) = @_;
+ log::l("writing $o_prefix/etc/fstab");
+ 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);
+ 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 {
@@ -389,333 +303,50 @@ sub set_removable_mntpoints {
my %names;
foreach (@{$all_hds->{raw_hds}}) {
- my $name = $_->{media_type};
- if (member($name, 'hd', 'fd')) {
- if (detect_devices::isZipDrive($_)) {
- $name = 'zip';
- } elsif ($name eq 'fd') {
- $name = 'floppy';
- } else {
- log::l("set_removable_mntpoints: don't know what to with hd $_->{device}");
- next;
- }
- }
- if ($name) {
- my $s = ++$names{$name};
- $_->{mntpoint} ||= "/mnt/$name" . ($s == 1 ? '' : $s);
- }
+ my $name = detect_devices::suggest_mount_point($_) or next;
+ member($name, qw(zip cdrom)) and next;
+
+ my $s = ++$names{$name};
+ $_->{mntpoint} ||= "/media/$name" . ($s == 1 ? '' : $s);
}
}
sub get_raw_hds {
my ($prefix, $all_hds) = @_;
- $all_hds->{raw_hds} =
- [
- detect_devices::floppies(), detect_devices::cdroms(),
- (map { $_->{device} .= '4'; $_ } detect_devices::zips())
- ];
- 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", 'all_options');
- $all_hds->{nfss} = [ grep { isNfs($_) } @fstab ];
- $all_hds->{smbs} = [ grep { isThisFs('smbfs', $_) } @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} = [
- { 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::run("mke2fs", @options, devices::make($dev)) or die _("%s formatting of %s failed", "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::run("mkreiserfs", "-f", "-q", @options, devices::make($dev)) or die _("%s formatting of %s failed", "reiserfs", $dev);
-}
-sub format_xfs {
- my ($dev, @options) = @_;
- run_program::run("mkfs.xfs", "-f", "-q", @options, devices::make($dev)) or die _("%s formatting of %s failed", "xfs", $dev);
-}
-sub format_jfs {
- my ($dev, @options) = @_;
- run_program::run("mkfs.jfs", "-f", @options, devices::make($dev)) or die _("%s formatting of %s failed", "jfs", $dev);
-}
-sub format_dos {
- my ($dev, @options) = @_;
- run_program::run("mkdosfs", @options, devices::make($dev)) or die _("%s formatting of %s failed", "dos", $dev);
-}
-sub format_hfs {
- my ($dev, @options) = @_;
- run_program::run("hformat", @options, devices::make($dev)) or die _("%s formatting of %s failed", "HFS", $dev);
-}
-sub real_format_part {
- my ($part) = @_;
-
- $part->{isFormatted} and return;
-
- my @options = $part->{toFormatCheck} ? "-c" : ();
- log::l("formatting device $part->{device} (type ", type2name($part->{type}), ")");
-
- if (isExt2($part)) {
- push @options, "-F" if isLoopback($part);
- format_ext2($part->{device}, @options);
- } elsif (isThisFs("ext3", $part)) {
- format_ext3($part->{device}, @options);
- } elsif (isThisFs("reiserfs", $part)) {
- format_reiserfs($part->{device}, @options, if_(c::kernel_version() =~ /^\Q2.2/, "-v", "1"));
- } elsif (isThisFs("xfs", $part)) {
- format_xfs($part->{device}, @options);
- } elsif (isThisFs("jfs", $part)) {
- format_jfs($part->{device}, @options);
- } elsif (isDos($part)) {
- format_dos($part->{device}, @options);
- } elsif (isWin($part)) {
- format_dos($part->{device}, @options, '-F', 32);
- } elsif (isThisFs('hfs', $part)) {
- format_hfs($part->{device}, @options, '-l', "Untitled");
- } elsif (isAppleBootstrap($part)) {
- format_hfs($part->{device}, @options, '-l', "bootstrap");
- } elsif (isSwap($part)) {
- my $check_blocks = grep { /^-c$/ } @options;
- swap::make($part->{device}, $check_blocks);
- } else {
- die _("I don't know how to format %s in type %s", $_->{device}, type2name($_->{type}));
- }
- $part->{isFormatted} = 1;
-}
-sub format_part {
- my ($raids, $part, $prefix) = @_;
- if (isRAID($part)) {
- require raid;
- raid::format_part($raids, $part);
- } elsif (isLoopback($part)) {
- loopback::format_part($part, $prefix);
- } else {
- real_format_part($part);
- }
-}
-
-################################################################################
-# mounting functions
-################################################################################
-sub formatMount_part {
- my ($part, $raids, $fstab, $prefix, $callback) = @_;
-
- if (isLoopback($part)) {
- formatMount_part($part->{loopback_device}, $raids, $fstab, $prefix, $callback);
- }
- if (my $p = up_mount_point($part->{mntpoint}, $fstab)) {
- formatMount_part($p, $raids, $fstab, $prefix, $callback) unless loopback::carryRootLoopback($part);
- }
-
- if ($part->{toFormat}) {
- $callback->($part) if $callback;
- format_part($raids, $part, $prefix);
- }
- mount_part($part, $prefix);
-}
-
-sub formatMount_all {
- my ($raids, $fstab, $prefix, $callback) = @_;
- formatMount_part($_, $raids, $fstab, $prefix, $callback)
- 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, $rdonly) = @_;
- log::l("mounting $dev on $where as type $fs");
-
- -d $where or commands::mkdir_('-p', $where);
-
- my @fs_modules = qw(vfat hfs romfs ufs reiserfs xfs jfs ext3);
-
- if (member($fs, 'smb', 'nfs') && $::isStandalone) {
- system('mount', $dev, $where) == 0 or die _("mount failed");
- } elsif (member($fs, 'ext2', 'proc', 'usbdevfs', 'iso9660', @fs_modules)) {
- $dev = devices::make($dev) if $fs ne 'proc' && $fs ne 'usbdevfs';
- $where =~ s|/$||;
-
- my $flag = c::MS_MGC_VAL();
- $flag |= c::MS_RDONLY() if $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 'ext2') {
- run_program::run("fsck.ext2", "-a", $dev);
- $? & 0x0100 and log::l("fsck corrected partition $dev");
- $? & 0xfeff and die _("fsck failed with exit code %d or signal %d", $? >> 8, $? & 255);
- }
- if (member($fs, @fs_modules)) {
- eval { modules::load($fs) };
- } elsif ($fs eq 'iso9660') {
- eval { modules::load('isofs') };
- }
- if ($fs eq 'ext3' && $::isInstall) {
- # ext3 mount to use the journal
- syscall_('mount', $dev, $where, $fs, $flag, $mount_opt) or die _("mount failed: ") . "$!";
- syscall_('umount', $where);
- # really mount as ext2 during install for speed up
- $fs = 'ext2';
- }
- log::l("calling mount($dev, $where, $fs, $flag, $mount_opt)");
- syscall_('mount', $dev, $where, $fs, $flag, $mount_opt) or die _("mount failed: ") . "$!";
- } else {
- log::l("skipping mounting $fs partition");
- return;
- }
- local *F;
- open F, ">>/etc/mtab" or return; #- fail silently, /etc must be read-only
- print F "$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_('umount', $mntpoint) or die _("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, $prefix, $rdonly) = @_;
-
- #- root carrier's link can't be mounted
- loopback::carryRootCreateSymlink($part, $prefix);
-
- if ($part->{isMounted} && $part->{real_mntpoint} && $part->{mntpoint}) {
- log::l("remounting partition on $prefix$part->{mntpoint} instead of $part->{real_mntpoint}");
- if ($::isInstall) { #- ensure partition will not be busy.
- require install_any;
- install_any::getFile('XXX');
- }
- umount($part->{real_mntpoint});
- rmdir $part->{real_mntpoint};
- symlinkf "$prefix$part->{mntpoint}", $part->{real_mntpoint};
- delete $part->{real_mntpoint};
- $part->{isMounted} = 0;
- }
-
- return if $part->{isMounted};
-
- unless ($::testing) {
- if (isSwap($part)) {
- swap::swapon($part->{device});
- } else {
- $part->{mntpoint} or die "missing mount point";
-
- my $dev = $part->{device};
- my $mntpoint = ($prefix || '') . $part->{mntpoint};
- if (isLoopback($part)) {
- eval { modules::load('loop') };
- $dev = $part->{real_device} = devices::set_loop($part->{device}) || die;
- } elsif (loopback::carryRootLoopback($part)) {
- $mntpoint = "/initrd/loopfs";
- }
- mount($dev, $mntpoint, type2fs($part), $rdonly);
- rmdir "$mntpoint/lost+found";
- }
- }
- $part->{isMounted} = $part->{isFormatted} = 1; #- assume that if mount works, partition is formatted
-}
-
-sub umount_part {
- my ($part, $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(($prefix || '') . $part->{mntpoint} || devices::make($part->{device}));
- c::del_loop(delete $part->{real_device}) if isLoopback($part);
- }
- }
- $part->{isMounted} = 0;
-}
-
-sub mount_all($;$$) {
- my ($fstab, $prefix) = @_;
-
- #- TODO fsck, create check_mount_all ?
- log::l("mounting all filesystems");
-
- #- order mount by alphabetical ordre, that way / < /home < /home/httpd...
- foreach (sort { $a->{mntpoint} cmp $b->{mntpoint} } grep { isSwap($_) || $_->{mntpoint} && isTrueFS($_) } @$fstab) {
- mount_part($_, $prefix);
- }
-}
-
-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 {
- my ($part, $prefix) = @_;
+ my ($part, $o_prefix) = @_;
my $dir = "/tmp/tmp_fs_df";
return $part->{free} if exists $part->{free};
if ($part->{isMounted}) {
- $dir = ($prefix || '') . $part->{mntpoint};
+ $dir = ($o_prefix || '') . $part->{mntpoint};
} elsif ($part->{notFormatted} && !$part->{isFormatted}) {
- return; #- won't even try!
+ return; #- will not even try!
} else {
- mkdir $dir;
- eval { mount($part->{device}, $dir, type2fs($part), 'readonly') };
+ mkdir_p($dir);
+ 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;
}
@@ -723,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 2c4cd0e66..d209b0196 100644
--- a/perl-install/fsedit.pm
+++ b/perl-install/fsedit.pm
@@ -1,350 +1,383 @@
-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_raw;
+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 = (
- __("simple") => [
- { mntpoint => "/", size => 300 << 11, type => 0x83, ratio => 5, maxsize =>3500 << 11 },
- { mntpoint => "swap", size => 64 << 11, type => 0x82, ratio => 1, maxsize => 250 << 11 },
- { mntpoint => "/home", size => 300 << 11, type => 0x83, ratio => 3 },
- ], 'with usr' => [
- { mntpoint => "/", size => 150 << 11, type => 0x83, ratio => 1, maxsize => 500 << 11 },
- { mntpoint => "swap", size => 64 << 11, type => 0x82, ratio => 1, maxsize => 250 << 11 },
- { mntpoint => "/usr", size => 300 << 11, type => 0x83, ratio => 4, maxsize =>3000 << 11 },
- { mntpoint => "/home", size => 100 << 11, type => 0x83, ratio => 5 },
- ], __("server") => [
- { mntpoint => "/", size => 150 << 11, type => 0x83, ratio => 1, maxsize => 250 << 11 },
- { mntpoint => "swap", size => 64 << 11, type => 0x82, ratio => 2, maxsize => 400 << 11 },
- { mntpoint => "/usr", size => 300 << 11, type => 0x83, ratio => 3, maxsize =>3000 << 11 },
- { mntpoint => "/var", size => 100 << 11, type => 0x83, ratio => 4 },
- { mntpoint => "/home", size => 100 << 11, type => 0x83, ratio => 5 },
+ N_("simple") => [
+ { 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 => 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 => 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 => 0xb, 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",
-);
-
-my @partitions_signatures = (
- [ 0x83, 0x438, "\x53\xEF" ],
- [ 0x183, 0x10034, "ReIsErFs" ],
- [ 0x183, 0x10034, "ReIsEr2Fs" ],
- [ 0x283, 0, 'XFSB', 0x200, 'XAGF', 0x400, 'XAGI' ],
- [ 0x383, 0x8000, 'JFS1' ],
- [ 0x82, 4086, "SWAP-SPACE" ],
- [ 0x7, 0x1FE, "\x55\xAA", 0x3, "NTFS" ],
- [ 0xc, 0x1FE, "\x55\xAA", 0x52, "FAT32" ],
-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 => [] };
-}
sub recompute_loopbacks {
my ($all_hds) = @_;
- my @fstab = get_all_fstab($all_hds);
- $all_hds->{loopbacks} = [ map { isPartOfLoopback($_) ? @{$_->{loopback}} : () } @fstab ];
+ my @fstab = fs::get::fstab($all_hds);
+ @{$all_hds->{loopbacks}} = map { isPartOfLoopback($_) ? @{$_->{loopback}} : () } @fstab;
}
-sub hds {
- my ($drives, $flags) = @_;
- my (@hds, @lvms, @raids);
- my $rc;
+sub raids {
+ my ($hds, $raw_hds) = @_;
- foreach (@$drives) {
- my $file = devices::make($_->{device});
+ my @parts = fs::get::hds_fstab(@$hds);
- my $hd = partition_table_raw::get_geometry($file) or log::l("An error occurred while getting the geometry of block device $file: $!"), next;
- add2hash_($hd, $_);
- $hd->{file} = $file;
- $hd->{prefix} = $hd->{device};
- # for RAID arrays of format c0d0p1
- $hd->{prefix} .= "p" if $hd->{prefix} =~ m,(rd|ida|cciss)/,;
+ my @l = grep { isRawRAID($_) } ( @parts, @$raw_hds ) or return [];
- eval { partition_table::read($hd, $flags->{clearall} || member($_->{device}, @{$flags->{clear} || []})) };
- if ($@) {
- partition_table_raw::zero_MBR($hd);
- }
- member($_->{device}, @{$flags->{clear} || []}) and partition_table::remove($hd, $_)
- foreach partition_table::get_normal_parts($hd);
+ log::l("looking for raids in " . join(' ', map { $_->{device} } @l));
+
+ require raid;
+ raid::detect_during_install(@l) if $::isInstall;
+ raid::get_existing(@l);
+}
+
+sub dmcrypts {
+ my ($all_hds) = @_;
+
+ my @parts = fs::get::fstab($all_hds);
+
+ my @l = grep { fs::type::isRawLUKS($_) } @parts or return;
+
+ log::l("using dm-crypt from " . join(' ', map { $_->{device} } @l));
+
+ require fs::dmcrypt;
+ fs::dmcrypt::read_crypttab($all_hds);
+
+ fs::dmcrypt::get_existing(@l);
+}
+
+sub lvms {
+ my ($all_hds) = @_;
+ my @pvs = grep { isRawLVM($_) } fs::get::fstab($all_hds) or return;
+ scan_pvs(@pvs);
+}
+
+sub scan_pvs {
+ my (@pvs) = @_;
+
+ log::l("looking for vgs in " . join(' ', map { $_->{device} } @pvs));
- #- special case for type overloading (eg: reiserfs is 0x183)
- foreach (grep { isExt2($_) } partition_table::get_normal_parts($hd)) {
- my $type = typeOfPart($_->{device});
- $_->{type} = $type if $type > 0x100;
+ #- otherwise vgscan will not find them
+ devices::make($_->{device}) foreach @pvs;
+ require lvm;
+
+ my @lvms;
+ foreach (@pvs) {
+ my $name = lvm::pv_to_vg($_) or next;
+ my $lvm = find { $_->{VG_name} eq $name } @lvms;
+ if (!$lvm) {
+ $lvm = new lvm($name);
+ lvm::update_size($lvm);
+ lvm::get_lvs($lvm);
+ push @lvms, $lvm;
}
- push @hds, $hd;
+ $_->{lvm} = $name;
+ push @{$lvm->{disks}}, $_;
}
- if (my @pvs = grep { isRawLVM($_) } map { partition_table::get_normal_parts($_) } @hds) {
- #- otherwise vgscan won't find them
- devices::make($_->{device}) foreach @pvs;
- require lvm;
- foreach (@pvs) {
- my $name = lvm::get_vg($_) or next;
- my ($lvm) = grep { $_->{LVMname} eq $name } (@hds, @lvms);
- if (!$lvm) {
- $lvm = bless { disks => [], LVMname => $name }, 'lvm';
- lvm::update_size($lvm);
- lvm::get_lvs($lvm);
- push @lvms, $lvm;
- }
- $_->{lvm} = $name;
- push @{$lvm->{disks}}, $_;
- }
+ @lvms;
+}
+
+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 ((my @parts = grep { isRawRAID($_) } map { partition_table::get_normal_parts($_) } @hds) && detect_devices::raidAutoStart()) {
- my @mdstat = cat_("/proc/mdstat");
- for (my $i=0 ; $i<@mdstat ; $i++) {
- next if $mdstat[$i] !~ /^md(.).* ([^ \[\]]+) ([^ ]+\[[^ \]]+\])(.*)$/;
- my ($nb, $level, $partcar, $partcdr) = ($1, $2, $3, $4);
- $level =~ /raid(.)/ and $level = $1;
- $partcar =~ /([^\[]+)/ or next;
- my @thisparts = ( $1 );
- while ($partcdr =~ /\s*([^\[]+)[^\]]+\](.*)/) {
- push @thisparts, $1;
- $partcdr = $2;
- }
- my $chunks = $mdstat[$i+1] =~ /([^ ]+) chunks/ ? $1 : "64k";
- my @disks;
- foreach my $part (@parts) {
- if (grep { readlink("/dev/$part->{device}") eq $_ || $part->{device} eq $_ } @thisparts) {
- $part->{raid} = $nb;
- delete $part->{mntpoint};
- push @disks, $part;
- }
- }
- my $type = typeOfPart("md$nb");
- my $notformat = 0;
- log::l("RAID: found md$nb (raid $level) chunks $chunks ", $type ? "type $type " : "", "with parts ", join(", ", @thisparts));
- if (!$type) {
- $type = 0x83;
- $notformat = 1;
- }
- $raids[$nb] = { 'chunk-size' => $chunks, type => $type, disks => \@disks,
- device => "md$nb", notFormatted => $notformat, level => $level };
- }
- require raid;
- raid::update(@raids);
+ if (!$::isInstall) {
+ fs::dmraid::migrate_device_names($_) foreach @vgs;
}
+ log::l("using dmraid on " . join(' ', map { $_->{device} } @vgs));
-
- my $all_hds = { %{ empty_all_hds() }, hds => \@hds, lvms => \@lvms, raids => \@raids };
- fs::get_major_minor(get_all_fstab($all_hds));
- $all_hds;
-}
+ 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);
-sub read_partitions() {
- 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;
+ push @$drives, @vgs;
}
-sub readProcPartitions {
- my ($hds) = @_;
+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 @all = read_partitions();
- my @parts = grep { $_->{dev} =~ /\d$/ } @all;
- my @disks = grep { $_->{dev} !~ /\d$/ } @all;
+ my @drives = detect_devices::hds();
- my $devfs_like = grep { $_->{dev} =~ m|/disc$| } @disks;
+ #- replace drives used in dmraid by the merged name
+ handle_dmraid(\@drives, $o_in) if !$flags->{nodmraid};
- my %devfs2normal = map {
- my (undef, $major, $minor) = devices::entry($_->{device});
- my ($disk) = grep { $_->{major} == $major && $_->{minor} == $minor } @disks;
- $disk->{dev} => $_->{device};
- } @$hds;
+ foreach my $hd (@drives) {
+ $hd->{file} = devices::make($hd->{device});
+ }
+
+ @drives = partition_table::raw::get_geometries(@drives);
+
+ my (@hds, @raw_hds);
+ foreach my $hd (@drives) {
+ $hd->{readonly} = $flags->{readonly};
+
+ #- 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) 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 {
+ $o_in and $o_in->ask_warn('', $err);
+ next;
+ }
+ }
- 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'};
+ if ($flags->{clearall} || member($hd->{device}, @{$flags->{clear} || []})) {
+ my $lvms = []; #- temporary one, will be re-created later in get_hds()
+ partition_table_clear_and_initialize($lvms, $hd, $o_in);
} else {
- $dev = $part->{dev};
- foreach my $hd (@$hds) {
- $part->{rootDevice} = $hd->{device} if $part->{dev} =~ /^$hd->{device}./;
+ 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 ($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
+ 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);
}
- $part->{device} = $dev;
- $part->{start} = 0; # unknown, but we don't care
- $part->{size} *= 2; # from KB to sectors
- $part->{type} = typeOfPart($dev);
- delete $part->{dev}; # cleanup
- }
- @parts;
-}
+ my @parts = partition_table::get_normal_parts($hd);
-sub all_hds {
- my ($all_hds) = @_;
- (@{$all_hds->{hds}}, @{$all_hds->{lvms}});
-}
-sub part2hd {
- my ($part, $all_hds) = @_;
- my ($hd) = grep { $part->{rootDevice} eq $_->{device} } all_hds($all_hds);
- $hd;
-}
+ # fix installer failures due to udev's race when run too early:
+ run_program::run('udevadm', 'settle');
-sub is_same_hd {
- my ($hd1, $hd2) = @_;
- if ($hd1->{major} && $hd2->{major}) {
- $hd1->{major} == $hd2->{major} && $hd1->{minor} == $hd2->{minor};
- } else {
- $hd1->{device} eq $hd2->{device};
- }
-}
+ # 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;
+ }
+ }
-sub is_same_part {
- my ($part1, $part2) = @_;
- foreach ('start', 'size', 'type', 'rootDevice') {
- $part1->{$_} eq $part2->{$_} or return;
+ if ($hd->{usb_media_type}) {
+ $hd->{is_removable} = 1;
+ $_->{is_removable} = 1 foreach @parts;
+ }
+
+ push @hds, $hd;
}
- 1;
-}
-#- get all normal partition including special ones as found on sparc.
-sub get_fstab {
- map { partition_table::get_normal_parts($_) } @_;
-}
+ #- detect raids before LVM allowing LVM on raid
+ my $raids = raids(\@hds, \@raw_hds);
+ my $all_hds = { %{ fs::get::empty_all_hds() }, hds => \@hds, raw_hds => \@raw_hds, lvms => [], raids => $raids };
-#- 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($_) } @_;
-}
+ $all_hds->{lvms} = [ lvms($all_hds) ];
-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 => $_->{device} };
- @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(@_);
-}
+ fs::get_major_minor([ fs::get::fstab($all_hds) ]);
-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}};
-}
-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);
-}
+ # 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_free_space {
- my ($all_hds) = @_;
- sum map { $_->{size} } get_all_holes($all_hds);
-}
-sub free_space {
- sum map { $_->{size} } get_holes(@_);
-}
+ $_->{faked_device} = 0 foreach fs::get::fstab($all_hds);
-sub is_one_big_fat {
- my ($hds) = @_;
- @$hds == 1 or return;
+ $all_hds;
+}
- my @l = get_fstab(@$hds);
- @l == 1 && isFat($l[0]) && free_space(@$hds) < 10 << 11;
+#- 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', 'pt_type', 'fs_type', 'rootDevice') {
+ $part1->{$_} eq $part2->{$_} or return 0;
+ }
+ 1;
}
-sub file2part {
- my ($prefix, $fstab, $file, $keep_simple_symlinks) = @_;
- my $part;
+sub is_one_big_fat_or_NT {
+ my ($hds) = @_;
+ @$hds == 1 or return 0;
- $file = $keep_simple_symlinks ? common::expand_symlinks_but_simple("$prefix$file") : expand_symlinks("$prefix$file");
- unless ($file =~ s/^$prefix//) {
- my ($part) = grep { 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 (!has_mntpoint($_->{mntpoint}, $all_hds) && $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) {
my $old_free_space = $free_space;
@@ -358,6 +391,9 @@ sub computeSize {
$_->{size} + $_->{ratio} / $tot_ratios * $old_free_space >= $_->{maxsize}) {
return min($max, $best->{maxsize}) if $best->{mntpoint} eq $_->{mntpoint};
$free_space -= $_->{maxsize} - $_->{size};
+ if (!$cylinder_size_maxsize_adjusted++) {
+ eval { $free_space += fs::get::part2hd($part, $all_hds)->cylinder_size - 1 };
+ }
0;
} else {
$_->{ratio};
@@ -366,110 +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
- if (grep { $_->{size} < $max - $size } @L) { $size } else { $max }
+ (any { $_->{size} <= $max - $size } @L) ? $size : $max;
}
sub suggest_part {
- my ($part, $all_hds, $suggestions) = @_;
- $suggestions ||= $suggestions{server};
+ my ($part, $all_hds, $o_suggestions, $o_target) = @_;
+ my $suggestions = $o_suggestions || $suggestions{server} || $suggestions{simple};
- my $has_swap = grep { 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 ($best, $second) =
- grep { !$_->{maxsize} || $part->{size} <= $_->{maxsize} }
- grep { $_->{size} <= ($part->{maxsize} || $part->{size}) }
- grep { !has_mntpoint($_->{mntpoint}, $all_hds) || isSwap($_) && !$has_swap }
+ 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 { $::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} }
- grep { !$part->{type} || $part->{type} == $_->{type} || isTrueFS($part) && isTrueFS($_) }
- @$suggestions or return;
+ @$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}");
+ }
+ }
-#- if (arch() =~ /i.86/) {
-#- $best = $second if
-#- $best->{mntpoint} eq '/boot' &&
-#- $part->{start} + $best->{size} > 1024 * $hd->cylinder_size(); #- if the empty slot is beyond the 1024th cylinder, no use having /boot
-#- }
+ my ($best) =
+ grep { !$_->{maxsize} || $part->{size} <= $_->{maxsize} }
+ grep { $_->{size} <= ($part->{maxsize} || $part->{size}) }
+ 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, $suggestions);
- 1;
+ 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->{$_};
+ }
+ $best;
}
sub suggestions_mntpoint {
my ($all_hds) = @_;
- sort grep { !/swap/ && !has_mntpoint($_, $all_hds) }
- (@suggestions_mntpoints, map { $_->{mntpoint} } @{$suggestions{server}});
+ sort grep { !/swap/ && !fs::get::has_mntpoint($_, $all_hds) }
+ (@suggestions_mntpoints, map { $_->{mntpoint} } @{$suggestions{server} || $suggestions{simple}});
}
-#-sub partitionDrives {
-#-
-#- my $cmd = "/sbin/fdisk";
-#- -x $cmd or $cmd = "/usr/bin/fdisk";
-#-
-#- my $drives = findDrivesPresent() or die "You don't have any hard drives available! You probably forgot to configure a SCSI controller.";
-#-
-#- foreach (@$drives) {
-#- my $text = "/dev/" . $_->{device};
-#- $text .= " - SCSI ID " . $_->{id} if $_->{device} =~ /^sd/;
-#- $text .= " - Model " . $_->{info};
-#- $text .= " array" if $_->{device} =~ /^c.d/;
-#-
-#- #- truncate at 50 columns for now
-#- $text = substr $text, 0, 50;
-#- }
-#- #-TODO TODO
-#-}
-
-
-sub mntpoint2part {
- my ($mntpoint, $fstab) = @_;
- first(grep { $mntpoint eq $_->{mntpoint} } @$fstab);
-}
-sub has_mntpoint {
- my ($mntpoint, $all_hds) = @_;
- mntpoint2part($mntpoint, [ get_really_all_fstab($all_hds) ]);
-}
-sub get_root_ {
- my ($fstab, $boot) = @_;
- $boot && mntpoint2part("/boot", $fstab) || mntpoint2part("/", $fstab);
-}
-sub get_root { &get_root_ || {} }
+#- you can do this before modifying $part->{mntpoint}
+#- so $part->{mntpoint} should not be used here, use $mntpoint instead
+sub check_mntpoint {
+ my ($mntpoint, $part, $all_hds) = @_;
-#- do this before modifying $part->{type}
-sub check_type {
- my ($type, $hd, $part) = @_;
- isThisFs("jfs", { type => name2type($type) }) && $part->{size} < 16 << 11 and die _("You can't use JFS for partitions smaller than 16MB");
- isThisFs("reiserfs", { type => name2type($type) }) && $part->{size} < 32 << 11 and die _("You can't use ReiserFS for partitions smaller than 32MB");
-}
+ $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);
-#- do this before modifying $part->{mntpoint}
-#- $part->{mntpoint} should not be used here, use $mntpoint instead
-sub check_mntpoint {
- my ($mntpoint, $hd, $part, $all_hds) = @_;
+ 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 separate /boot partition");
+ }
- $mntpoint eq '' || isSwap($part) || isNonMountable($part) and return;
- $mntpoint =~ m|^/| or die _("Mount points must begin with a leading /");
- has_mntpoint($mntpoint, $all_hds) and die _("There is already a partition with mount point %s\n", $mntpoint);
+ if ($mntpoint eq "/boot" && (isLUKS($part) || isRawLUKS($part))) {
+ die N("You cannot use an encrypted filesystem for mount point %s", "/boot");
+ }
- die "raid / with no /boot"
- if $mntpoint eq "/" && isRAID($part) && !has_mntpoint("/boot", $all_hds);
- die _("You can't use a LVM Logical Volume for mount point %s", $mntpoint)
- if ($mntpoint eq '/' || $mntpoint eq '/boot') && isLVM($hd);
- die _("This directory should remain within the root filesystem")
- if member($mntpoint, qw(/bin /dev /etc /lib /sbin));
- die _("You need a true filesystem (ext2, reiserfs) for this mount point\n")
- if !isTrueFS($part) && member($mntpoint, qw(/ /home /tmp /usr /var));
+ 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 /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);
-}
-
-sub check {
- my ($hd, $part, $all_hds) = @_;
- check_mntpoint($part->{mntpoint}, $hd, $part, $all_hds);
- check_type($part->{type}, $hd, $part);
+ fs::loopback::check_circular_mounts($part, $all_hds);
}
sub add {
@@ -477,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};
@@ -486,208 +507,171 @@ sub add {
} else {
partition_table::add($hd, $part, $options->{primaryOrExtended});
}
+ fs::get_major_minor([ $part ]);
}
sub allocatePartitions {
- my ($all_hds, $to_add) = @_;
-
- foreach my $part (get_all_holes($all_hds)) {
- 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) = fsedit::part2hd($part, $all_hds);
- add($hd, $part, $all_hds);
+ my ($all_hds, $to_add, $o_hd) = @_;
+
+ my @to_add = @$to_add;
+
+ foreach my $part_ (fs::get::holes($all_hds, 'non_readonly')) {
+ my ($start, $size, $dev) = @$part_{"start", "size", "rootDevice"};
+ 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, $suggestions) = @_;
- my $before = listlength(fsedit::get_all_fstab($all_hds));
+ my ($all_hds, $o_suggestions, $o_target) = @_;
+ my $before = listlength(fs::get::fstab($all_hds));
- allocatePartitions($all_hds, $suggestions || $suggestions{simple});
- auto_allocate_raids($all_hds, $suggestions) if $suggestions;
-
- partition_table::assign_device_numbers($_) foreach @{$all_hds->{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);
+ }
- $before != listlength(fsedit::get_all_fstab($all_hds));
-}
+ auto_allocate_bios_boot_parts($all_hds, $o_target) if !is_uefi();
-sub auto_allocate_raids {
- my ($all_hds, $suggestions) = @_;
+ my $suggestions = $o_suggestions || $suggestions{simple};
+ allocatePartitions($all_hds, $suggestions, $o_target);
- my @raids = grep { isRawRAID($_) } get_all_fstab($all_hds) or return;
- if (@raids) {
- 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
- raid::updateSize($part);
+ if ($o_suggestions) {
+ auto_allocate_raids($all_hds, $suggestions);
+ if (auto_allocate_vgs($all_hds, $suggestions)) {
+ #- allocatePartitions needs to be called twice, once for allocating PVs, once for allocating LVs
+ my @vgs = map { $_->{VG_name} } @{$all_hds->{lvms}};
+ my @suggested_lvs = grep { member($_->{hd}, @vgs) } @$suggestions;
+ allocatePartitions($all_hds, \@suggested_lvs);
}
}
-}
-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']);
+ partition_table::assign_device_numbers($_) foreach @{$all_hds->{hds}};
+
+ if ($before == listlength(fs::get::fstab($all_hds))) {
+ # find out why auto_allocate failed
+ 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");
+ }
}
-}
-sub undo {
- my ($all_hds) = @_;
- foreach (@{$all_hds->{hds}}) {
- my $h; eval pop @{$_->{undo}} || next;
- @{$_}{@partition_table::fields2save} = @$h;
- $_->{isDirty} = $_->{needKernelReread} = 1 if $_->{hasBeenDirty};
+ #- 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 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);
- }
+sub auto_allocate_raids {
+ my ($all_hds, $suggestions) = @_;
- return if $part2->{notFormatted} && !$part2->{isFormatted} || $::testing;
+ my @raids = grep { isRawRAID($_) } fs::get::fstab($all_hds) or return;
- local (*F, *G);
- sysopen F, $hd->{file}, 0 or die '';
- sysopen G, $hd2->{file}, 2 or die _("Error opening %s for writing: %s", $hd2->{file}, "$!");
+ 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 $base = $part1->{start};
- my $base2 = $part2->{start};
- my $step = 10;
- if ($hd eq $hd2) {
- $base == $base2 and return;
- $step = min($step, abs($base2 - $base));
+ my %h = %$md;
+ delete @h{'hd', 'parts'}; # keeping mntpoint, level, chunk-size, fs_type/pt_type
+ $h{disks} = \@raids_;
- if ($base < $base2) {
- $base += $part1->{size} - $step;
- $base2 += $part1->{size} - $step;
- $step = -$step;
- }
+ my $part = raid::new($all_hds->{raids}, %h);
+
+ raid::updateSize($part);
+ push @raids, $part; #- we can build raid over raid
}
+}
- 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}";
+sub auto_allocate_vgs {
+ my ($all_hds, $suggestions) = @_;
- my $buf;
- sysread F, $buf, $SECTORSIZE * abs($_[0]) or die '';
- syswrite G, $buf;
- };
+ my @pvs = grep { isRawLVM($_) } fs::get::fstab($all_hds) or return 0;
- 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);
+ my @vgs = grep { $_->{VG_name} } @$suggestions or return 0;
+
+ partition_table::write($_) foreach @{$all_hds->{hds}};
+
+ require lvm;
+
+ foreach my $vg (@vgs) {
+ my $lvm = new lvm($vg->{VG_name});
+ push @{$all_hds->{lvms}}, $lvm;
+
+ my @pvs_ = grep { !$vg->{parts} || $vg->{parts} =~ /\Q$_->{mntpoint}/ } @pvs;
+ @pvs = difference2(\@pvs, \@pvs_);
+
+ foreach my $part (@pvs_) {
+ raid::make($all_hds->{raids}, $part) if isRAID($part);
+ $part->{lvm} = $lvm->{VG_name};
+ delete $part->{mntpoint};
+ lvm::vg_add($part);
+ push @{$lvm->{disks}}, $part;
+ }
+ lvm::update_size($lvm);
}
+ 1;
}
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});
- local *F; open 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 verifyHds {
- my ($hds, $readonly, $ok) = @_;
+=item partition_table_clear_and_initialize($lvms, $hd, $o_in, $o_type, $b_warn) = @_;
- if (is_empty_array_ref($hds)) { #- no way
- die _("An error has occurred - no valid devices were found on which to create new filesystems. Please check your hardware for the cause of this problem");
- }
+wrapper around partition_table::initialize() but which also create a singleton VG
+automatically (so that it's easier for the user)
- my @parts = readProcPartitions($hds);
- foreach my $hd (@$hds) {
- my @l1 = partition_table::get_normal_parts($hd);
- my @l2 = grep { $_->{rootDevice} eq $hd->{device} } @parts;
- if (int(@l1) != int(@l2) && arch() ne 'ppc') {
- log::l(sprintf
- "/proc/partitions doesn't agree with drakx %d != %d:\n%s\n", int(@l1), int(@l2),
- "/proc/partitions: " . join(", ", map { "$_->{device} ($_->{rootDevice})" } @parts));
- $ok = 0;
- }
- }
+=cut
- if ($readonly && !$ok) {
- log::l("using /proc/partitions as diskdrake failed :(");
- foreach my $hd (@$hds) {
- partition_table_raw::zero_MBR($hd);
- $hd->{primary} = { normal => [ grep { $hd->{device} eq $_->{rootDevice} } @parts ] };
+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;
}
- $ok = 1;
+ 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));
}
- $readonly && get_fstab(@$hds) == 0 and die _("You don't have any partitions!");
- $ok;
}
-#-######################################################################################
-#- Wonderful perl :(
-#-######################################################################################
-1; #
+1;
diff --git a/perl-install/ftp.pm b/perl-install/ftp.pm
deleted file mode 100644
index 20b837b8c..000000000
--- a/perl-install/ftp.pm
+++ /dev/null
@@ -1,84 +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, $login, $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 ($login) {
- $login = 'anonymous';
- $password = '-drakx@';
- }
-
- my $ftp;
- foreach (1..10) {
- $ftp = Net::FTP->new(network::resolv($host), %options) or die;
- $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";
- $ftp->binary;
- $ftp->cwd($prefix);
-
- my @l = ($ftp, \ (my $retr = undef));
- $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);
- $$retr->close if $$retr;
- $$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) = @{$_ || []};
- $$retr->close if $$retr;
- $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 871a15945..000000000
--- a/perl-install/g_auto_install
+++ /dev/null
@@ -1,12 +0,0 @@
-#!../perl
-
-my $dir = `pwd`;
-chomp $dir;
-$dir .= "/../../..";
-
-$ENV{PERL5LIB} = join ":", map { "$dir/$_" } @INC;
-$ENV{LD_LIBRARY_PATH} = "$dir/lib:$dir/usr/lib";
-$ENV{PATH} = join(":", map { "$dir/$_" } split ":", "/usr/bin:/bin:/sbin:/usr/sbin:/usr/X11R6/bin") . ":$ENV{PATH}";
-$ENV{SHARE_PATH} = "$dir/usr/share";
-
-exec "../../../lib/ld-linux.so.2", "../perl", "./install2", "--g_auto_install", @ARGV or die;
diff --git a/perl-install/getpkgs_deps b/perl-install/getpkgs_deps
deleted file mode 100755
index bc2d5e0e8..000000000
--- a/perl-install/getpkgs_deps
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/perl
-
-use diagnostics;
-use strict;
-
-use lib qw(/usr/bin/perl-install . c c/blib/arch);
-use pkgs_deps;
-use pkgs;
-
-pkgs_deps::main(pkgs::psUsingDirectory());
diff --git a/perl-install/handle_configs.pm b/perl-install/handle_configs.pm
new file mode 100644
index 000000000..97011f1f6
--- /dev/null
+++ b/perl-install/handle_configs.pm
@@ -0,0 +1,159 @@
+package handle_configs;
+
+
+use diagnostics;
+use strict;
+
+use common;
+
+sub searchstr {
+ # Preceed all characters which are special characters in regexps with
+ # a backslash, so that the returned string used in a regexp searches
+ # a literal occurence of the original string. White space is replaced
+ # by "\s+"
+ # "quotemeta()" does not serve for this, as it also quotes some regular
+ # characters, as the space
+ my ($s) = @_;
+ $s =~ s!([\\/\(\)\[\]\{\}\|\.\$\@\%\*\?#\+\-])!\\$1!g;
+ return $s;
+}
+
+sub read_directives {
+ # Read one or more occurences of a directive
+ my ($lines_ptr, $directive) = @_;
+
+ my $searchdirective = searchstr($directive);
+ # do not use if_() below because it slow down printerdrake
+ # to the point one can believe in process freeze:
+ map { (/^\s*$searchdirective\s+(\S.*)$/ ? chomp_($1) : ()) } @$lines_ptr;
+}
+
+sub read_unique_directive {
+
+ # Read a directive, if the directive appears more than once, use
+ # the last occurence and remove all the others, if it does not
+ # occur, return the default value
+
+ my ($lines_ptr, $directive, $default) = @_;
+
+ if ((my @d = read_directives($lines_ptr, $directive)) > 0) {
+ my $value = $d[-1];
+ set_directive($lines_ptr, "$directive $value");
+ return $value;
+ } else {
+ return $default;
+ }
+}
+
+sub insert_directive {
+
+ # Insert a directive only if it is not already there
+
+ my ($lines_ptr, $directive) = @_;
+
+ my $searchdirective = searchstr($directive);
+ (/^\s*$searchdirective$/ and return 0) foreach @$lines_ptr;
+ push @$lines_ptr, "$directive\n";
+ return 1;
+}
+
+sub remove_directive {
+
+ # Remove a directive
+
+ my ($lines_ptr, $directive) = @_;
+
+ my $success = 0;
+ my $searchdirective = searchstr($directive);
+ (/^\s*$searchdirective/ and $_ = "" and $success = 1)
+ foreach @$lines_ptr;
+ return $success;
+}
+
+sub comment_directive {
+
+ # Comment out a directive
+
+ my ($lines_ptr, $directive, $exactmatch) = @_;
+
+ my $success = 0;
+ my $searchdirective = searchstr($directive);
+ $searchdirective .= ".*" if !$exactmatch;
+ (s/^\s*($searchdirective)$/#$1/ and $success = 1)
+ foreach @$lines_ptr;
+ return $success;
+}
+
+sub replace_directive {
+
+ # Replace a directive, if it appears more than once, remove
+ # the additional occurences.
+
+ my ($lines_ptr, $olddirective, $newdirective) = @_;
+
+ my $success = 0;
+ $newdirective = "$newdirective\n";
+ my $searcholddirective = searchstr($olddirective);
+ (/^\s*$searcholddirective/ and $_ = $newdirective and
+ $success = 1 and $newdirective = "") foreach @$lines_ptr;
+ return $success;
+}
+
+
+sub move_directive_to_version_commented_out {
+
+ # If there is a version of the directive "commentedout" which is
+ # commented out, the directive "directive" will be moved in its place.
+
+ my ($lines_ptr, $commentedout, $directive, $exactmatch) = @_;
+
+ my $success = 0;
+ my $searchcommentedout = searchstr($commentedout);
+ $searchcommentedout .= ".*" if !$exactmatch;
+ (/^\s*#$searchcommentedout$/ and
+ $success = 1 and last) foreach @$lines_ptr;
+ if ($success) {
+ remove_directive($lines_ptr, $directive);
+ (s/^\s*#($searchcommentedout)$/$directive/ and
+ $success = 1 and last) foreach @$lines_ptr;
+ }
+ return $success;
+}
+
+sub set_directive {
+
+ # Set a directive, replace the old definition or a commented definition
+
+ my ($lines_ptr, $directive, $full_line) = @_;
+
+ my $olddirective = $directive;
+ if (!$full_line) {
+ $olddirective =~ s/^\s*(\S+)\s+.*$/$1/s;
+ $olddirective ||= $directive;
+ }
+
+ my $success = (replace_directive($lines_ptr, $olddirective,
+ $directive) ||
+ insert_directive($lines_ptr, $directive));
+ if ($success) {
+ move_directive_to_version_commented_out($lines_ptr, $directive,
+ $directive, 1);
+ }
+ return $success;
+}
+
+sub add_directive {
+
+ # Add a directive, replace a commented definition
+
+ my ($lines_ptr, $directive) = @_;
+
+ my $success = insert_directive($lines_ptr, $directive);
+ if ($success) {
+ move_directive_to_version_commented_out($lines_ptr, $directive,
+ $directive, 1);
+ }
+ return $success;
+}
+
+1;
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
new file mode 100755
index 000000000..4721bed40
--- /dev/null
+++ b/perl-install/harddrake/check_snd.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+
+use strict;
+use lib qw(/usr/lib/libDrakX);
+
+use common;
+use harddrake::sound;
+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;
+
+# check harddrake::sound's data structures're coherent
+print "unknown alternative drivers : [", join(', ', difference2(\@alternatives, \@drivers)), "]\n";
+
+# check that list_modules and harddrake::sound are synced
+print "non real sound modules (submodules, tv, usb, ...) : [", join(', ', difference2(\@drivers, \@listed_modules)), "]\n";
+print "forgotten sound modules : [", join(', ', difference2(\@listed_modules, \@drivers)), "]\n";
diff --git a/perl-install/harddrake/data.pm b/perl-install/harddrake/data.pm
new file mode 100644
index 000000000..8d4d4de21
--- /dev/null
+++ b/perl-install/harddrake/data.pm
@@ -0,0 +1,578 @@
+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) = ("10", "/usr/sbin", "/usr/bin");
+
+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|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/;
+ } @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
+# in hw configuration ... :-(
+
+# FIXME: add translated items
+
+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) = @_;
+ 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 =
+ (
+ {
+ 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'} :
+ $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
new file mode 100644
index 000000000..cdf24c219
--- /dev/null
+++ b/perl-install/harddrake/sound.pm
@@ -0,0 +1,668 @@
+package harddrake::sound;
+
+# TODO:
+# o ensure sound is not user (either dsp/midi/sequencer/mixer)
+# o fix sound/alsa services
+
+use strict;
+use common;
+use run_program;
+use modules;
+use list_modules;
+use detect_devices;
+use log;
+
+sub is_pulseaudio_enabled {
+ my ($in) = @_;
+ my $soundprofile = common::read_alternative('soundprofile');
+ return $in->do_pkgs->is_installed('task-pulseaudio') && $soundprofile =~ /pulse$/;
+}
+
+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;
+}
+
+
+my $pa_startup_scriptfile = "$::prefix/etc/pulse/default.pa";
+
+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/;
+ }
+ } $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));
+ }
+
+ return $user;
+}
+
+# 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');
+
+ 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) = @_;
+ 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');
+ }
+ }
+
+
+ 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('pipewire-media-session')) {
+ rooted('/usr/bin/systemctl', '--global', 'disable', 'pipewire-media-session.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('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 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 {
+ my ($modules_conf) = @_;
+ my $altered = 0;
+ each_index {
+ my $default_driver = $modules_conf->get_alias("sound-slot-$::i");
+ if (!member($default_driver, $_->{driver})) {
+ $altered ||= $default_driver;
+ configure_one_sound_slot($modules_conf, $::i, $_->{driver});
+ }
+ } detect_devices::getSoundDevices();
+ $modules_conf->write if $altered && $::isStandalone;
+}
+
+
+1;
diff --git a/perl-install/harddrake/v4l.pm b/perl-install/harddrake/v4l.pm
new file mode 100644
index 000000000..bd7c649bb
--- /dev/null
+++ b/perl-install/harddrake/v4l.pm
@@ -0,0 +1,496 @@
+package harddrake::v4l;
+
+use strict;
+
+use common;
+use detect_devices;
+use log;
+use modules;
+
+# please update me on bttv update :
+
+my $default = N("Auto-detect");
+# TODO: split %tuners_lst in per driver perl source files that get transformed in Storable files
+my %tuners_lst =
+ (
+ -1 => $default,
+ 0 => "Temic|PAL (4002 FH5)",
+ 1 => "Philips|PAL_I (FI1246 and compatibles)",
+ 2 => "Philips|NTSC (FI1236, FM1236 and compatibles)",
+ 3 => "Philips|(SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF)",
+ 4 => "NoTuner",
+ 5 => "Philips|PAL_BG (FI1216 and compatibles)",
+ 6 => "Temic|NTSC (4032 FY5)",
+ 7 => "Temic|PAL_I (4062 FY5)",
+ 8 => "Temic|NTSC (4036 FY5)",
+ 9 => "Alps|HSBH1",
+ 10 => "Alps|TSBE1",
+ 11 => "Alps|TSBB5",
+ 12 => "Alps|TSBE5",
+ 13 => "Alps|TSBC5",
+ 14 => "Temic|PAL_BG (4006FH5)",
+ 15 => "Alps|TSCH6",
+ 16 => "Temic|PAL_DK (4016 FY5)",
+ 17 => "Philips|NTSC_M (MK2)",
+ 18 => "Temic|PAL_I (4066 FY5)",
+ 19 => "Temic|PAL* auto (4006 FN5)",
+ 20 => "Temic|PAL_BG (4009 FR5) or PAL_I (4069 FR5)",
+ 21 => "Temic|NTSC (4039 FR5)",
+ 22 => "Temic|PAL/SECAM multi (4046 FM5)",
+ 23 => "Philips|PAL_DK (FI1256 and compatibles)",
+ 24 => "Philips|PAL/SECAM multi (FQ1216ME)",
+ 25 => "LG|PAL_I+FM (TAPC-I001D)",
+ 26 => "LG|PAL_I (TAPC-I701D)",
+ 27 => "LG|NTSC+FM (TPI8NSR01F)",
+ 28 => "LG|PAL_BG+FM (TPI8PSB01D)",
+ 29 => "LG|PAL_BG (TPI8PSB11D)",
+ 30 => "Temic|PAL* auto + FM (4009 FN5)",
+ 31 => "SHARP NTSC_JP (2U5JF5540)",
+ 32 => "Samsung|PAL TCPM9091PD27",
+ 33 => "MT20xx universal",
+ 34 => "Temic|PAL_BG (4106 FH5)",
+ 35 => "Temic|PAL_DK/SECAM_L (4012 FY5)",
+ 36 => "Temic|NTSC (4136 FY5)",
+ 37 => "LG|PAL (newer TAPC series)",
+ 38 => "Philips|PAL/SECAM multi (FM1216ME)",
+ 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' => {
+ $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,
+ "A|AVerMedia|TVPhone" => 6,
+ "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,
+ "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,
+ "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,
+ "L|Lifeview|FlyVideo 98" => 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,
+ "A|Askey|CPH06X (bt878)" => 24,
+ "G|Guillemot|Maxi TV Video 3" => 24,
+ "A|Askey|CPH05X (bt878)" => 24,
+ N("Unknown|CPH05X (bt878) [many vendors]") => 24,
+ N("Unknown|CPH06X (bt878) [many vendors]") => 24,
+ "T|Terratec|Terra TV+ Version 1.0 (Bt848)" => 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,
+ "L|Lifeview|FlyVideo 98 LR50" => 30,
+ "Formac|iProTV" => 31,
+ "Formac|iProTV I (bt848)" => 31,
+ "I|Intel|Create and Share PCI (bttv type 32)" => 32,
+ "I|Intel|Smart Video Recorder III (bttv type 32)" => 32,
+ "T|Terratec|TerraTValue" => 33,
+ "L|Leadtek|WinFast TV 2000" => 34,
+ "L|Leadtek|WinFast VC 100" => 35,
+ "L|Lifeview|FlyVideo 98 LR50" => 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,
+ "P|Prolink|PixelView PlayTV Theater" => 37,
+ "A|Askey|CPH06X TView99" => 38,
+ "P|Pinnacle|PCTV Studio/Rave" => 39,
+ "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,
+ "Zoltrix|Genie TV/FM" => 46,
+ "T|Terratec|TV/Radio+" => 47,
+ "A|Askey|CPH03x" => 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,
+ "P|Pinnacle|PCTV Studio Pro" => 52,
+ "T|Typhoon|KNC1 TV Station RDS" => 53,
+ "T|Typhoon|TV Tuner RDS (black package)" => 53,
+ "T|Typhoon|TView RDS + FM Stereo" => 53,
+ "L|Lifeview|FlyVideo 2000" => 54,
+ "L|Lifeview|FlyVideo A2" => 54,
+ "L|Lifetec|LT 9415 TV [LR90]" => 54,
+ "A|Askey|CPH031" => 55,
+ "L|Lenco|MXR-9571 (Bt848)" => 55,
+ "Bestbuy|Easy TV" => 55,
+ "L|Lifeview|FlyVideo 98FM LR50" => 56,
+ "G|GrandTec|Grand Video Capture (Bt848)" => 57,
+ "A|Askey|CPH060" => 58,
+ "P|Phoebe Micro|TV Master Only (No FM)" => 58,
+ "A|Askey|CPH03x TV Capturer" => 59,
+ "M|Modular|Technology MM100 PCTV" => 60,
+ "A|AG|Electronics GMV1" => 61,
+ "A|Askey|CPH061" => 62,
+ "Bestbuy|Easy TV (bt878)" => 62,
+ "L|Lifetec|LT9306" => 62,
+ "M|Medion MD9306" => 62,
+ "A|ATI|TV-Wonder" => 63,
+ "A|ATI|TV-Wonder VE" => 64,
+ "L|Lifeview|FlyVideo 2000S LR90" => 65,
+ "T|Terratec|TValueRadio" => 66,
+ "I|IODATA|GV-BCTV4/PCI" => 67,
+ "3Dfx|VoodooTV FM (Euro)" => 68,
+ "3Dfx|VoodooTV 200 (USA)" => 68,
+ "A|Active|Imaging AIMMS" => 69,
+ "P|Prolink|Pixelview PV-BT878P+ (Rev.4C)" => 70,
+ "L|Lifeview|FlyVideo 98EZ (capture only) LR51" => 71,
+# "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,
+ "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,
+ "G|GrandTec|Multi Capture Card (Bt878)" => 77,
+ "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,
+ "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|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,
+ "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|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 => "do not use pll",
+ 1 => "28 Mhz Crystal (X)",
+ 2 => "35 Mhz Crystal"
+ );
+
+sub config {
+ 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."),
+ [
+ { 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 => '|' },
+ ]
+ ))
+ {
+ $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;
+ }
+ return 0;
+}
+
+
+
+1;
diff --git a/perl-install/help.pm b/perl-install/help.pm
deleted file mode 100644
index 0b0e8da44..000000000
--- a/perl-install/help.pm
+++ /dev/null
@@ -1,734 +0,0 @@
-package help;
-use common;
-%steps = (
-empty => '',
-
-addUser =>
-__("GNU/Linux is a multiuser system, and this means that each user can have his own
-preferences, his own files and so on. You can read the ``User Guide'' to learn
-more. But unlike root, which is the administrator, the users you will add here
-will not be entitled to change anything except their own files and their own
-configuration. You will have to create at least one regular user for yourself.
-That account is where you should log in for routine use. Although it is very
-practical to log in as root everyday, it may also be very dangerous! The
-slightest mistake could mean that your system would not work any more. If you
-make a serious mistake as a regular user, you may only lose some information,
-but not the entire system.
-
-First, you have to enter your real name. This is not mandatory, of course - as
-you can actually enter whatever you want. DrakX will then take the first word
-you have entered in the box and will bring it over to the User name. This is the
-name this particular user will use to log into the system. You can change it.
-You then have to enter a password here. A non-privileged (regular) user's
-password is not as crucial as that of root from a security point of view, but
-that is no reason to neglect it - after all, your files are at risk.
-
-If you click on Accept user, you can then add as many as you want. Add a user
-for each one of your friends: your father or your sister, for example. When you
-finish adding all the users you want, select Done.
-
-Clicking the Advanced button allows you to change the default shell for that
-user (bash by default)."),
-
-ask_mntpoint_s =>
-__("Listed above are the existing Linux partitions detected on your hard drive. You
-can keep the choices made by the wizard, they are good for most common installs.
-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 partition for /home (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."),
-
-chooseCd =>
-__("The Mandrake Linux installation is spread out over several CDROMs. DrakX knows
-if a selected package is located on another CDROM and will eject the current CD
-and ask you to insert a different one as required."),
-
-choosePackages =>
-__("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 you are not
-supposed to know them all by heart.
-
-If you are performing a standard installation from CDROM, you will first be
-asked to specify the CDs you currently have. Check the CD labels and highlight
-the boxes corresponding to the CDs you have available for installation. Click OK
-when you are ready to continue.
-
-Packages are sorted in groups corresponding to a particular use of your machine.
-The groups themselves are sorted into four sections:
-
- * Workstation: if you plant to use your machine as a workstation, select one or
-more of the corresponding groups.
-
- * Graphical Environment: this is where you will choose your preferred graphical
-environment. At least one must be selected if you want to have a graphical
-workstation!
-
- * Development: if the machine is to be used for programming, choose the desired
-group(s).
-
- * Server: finally, if the machine is intended to be a server, you will be able
-to select which of the most common services you wish to see installed on the
-machine.
-
-Moving the mouse cursor over a group name will display a short explanatory text
-about that group.
-
-Clicking the Advanced button will allow you to select the Individual package
-selection option. This 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 \"Update\" mode, you can unselect all groups
-to avoid installing any new package. This is useful for repairing or updating an
-existing system."),
-
-choosePackagesTree =>
-__("Finally, depending on your choice of whether or not to select individual
-packages, you will be presented 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.
-When your selection is finished, click the Install button which will then launch
-the installation process. Depending on the speed of your hardware and the number
-of packages that need to be installed, it may take a while to complete the
-process. A time to complete estimate is displayed on the screen to help you
-gauge if there is sufficient time to enjoy a cup of coffee.
-
-!! If a server package has been selected either intentionally or because it was
-part of a whole group, you will be asked to confirm that you really want those
-servers to be installed. Under Mandrake Linux, any installed servers are started
-by default at boot time. Even if they are safe and have no known issues at the
-time the distribution was shipped, it may happen that security holes are
-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 No. Clicking Yes will install the listed services and they will be
-started automatically by default. !!
-
-The Automatic dependencies option simply disables the warning dialog which
-appears whenever the installer automatically selects a package. This occurs
-because it has determined that it needs to satisfy a dependency with another
-package in order to successfully complete the installation.
-
-The tiny floppy disc icon at the bottom of the list allows to load the packages
-list chosen during a previous installation. 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."),
-
-configureNetwork =>
-__("If you wish to connect your computer to the Internet or to a local network,
-please choose the correct option. Please turn on your device before choosing the
-correct option to let DrakX detect it automatically.
-
-Mandrake Linux proposes the configuration of an Internet connection at
-installation time. Available connections are: traditional modem, ISDN modem,
-ADSL connection, cable modem, and finally a simple LAN connection (Ethernet).
-
-Here, we will not detail each configuration. Simply make sure that you have all
-the parameters from your Internet Service Provider or system administrator.
-
-You can consult the manual 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.
-
-If you wish to configure the network later after installation or if you have
-finished configuring your network connection, click Cancel."),
-
-configureServices =>
-__("You may now choose which services you wish to start at boot time.
-
-Here are presented all the services available with the current installation.
-Review them carefully and uncheck those which are not always needed at boot
-time.
-
-You can get a short explanatory text about a service by selecting a specific
-service. 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."),
-
-configureTimezoneGMT =>
-__("GNU/Linux manages time in GMT (Greenwich Manage Time) and translates it in local
-time according to the time zone you selected.
-
-If you use Microsoft Windows on this computer, choose No."),
-
-configureX =>
-__("X (for X Window System) is the heart of the GNU/Linux graphical interface on
-which all the graphics environments (KDE, Gnome, AfterStep, WindowMaker...)
-bundled with Mandrake Linux rely. In this section, DrakX will try to configure X
-automatically.
-
-It is extremely rare for it to fail, unless the hardware is very old (or very
-new). If it succeeds, it will start X automatically with the best resolution
-possible depending on the size of the monitor. A window will then appear and ask
-you if you can see it.
-
-If you are doing an Expert install, you will enter the X configuration wizard.
-See the corresponding section of the manual for more information about this
-wizard.
-
-If you can see the message and answer Yes, then DrakX will proceed to the next
-step. If you cannot see the message, it simply means that the configuration was
-wrong and the test will automatically end after 10 seconds, restoring the
-screen."),
-
-configureXmain =>
-__("The first time you try the X configuration, you may not be very satisfied with
-its display (screen is too small, shifted left or right...). Hence, even if X
-starts up correctly, DrakX then asks you if the configuration suits you. It will
-also propose to change it by displaying a list of valid modes it could find,
-asking you to select one.
-
-As a last resort, if you still cannot get X to work, choose Change graphics
-card, select Unlisted card, and when prompted on which server you want, choose
-FBDev. This is a failsafe option which works with any modern graphics card. Then
-choose Test again to be sure."),
-
-configureXxdm =>
-__("Finally, you will be asked whether you want to see the graphical interface at
-boot. Note this question will be asked even if you chose not to test the
-configuration. Obviously, you want to answer No if your machine is to act as a
-server, or if you were not successful in getting the display configured."),
-
-createBootdisk =>
-__("The Mandrake Linux CDROM has a built-in rescue mode. You can access it by
-booting from the CDROM, press the >>F1<< key at boot and type >>rescue<< at the
-prompt. But in case your computer cannot boot from the CDROM, you should come
-back to this step for help in at least two situations:
-
- * when installing the boot loader, DrakX will rewrite the boot sector (MBR) of
-your main disk (unless you are using another boot manager) so that you can start
-up with either Windows or GNU/Linux (assuming you have Windows in your system).
-If you need to reinstall Windows, the Microsoft install process will rewrite the
-boot sector, and then you will not be able to start GNU/Linux!
-
- * if a problem arises and you cannot start up GNU/Linux from the hard disk, this
-floppy disk will be the only means of starting up GNU/Linux. It contains a fair
-number of system tools for restoring a system, which has crashed due to a power
-failure, an unfortunate typing error, a typo in a password, or any other reason.
-
-When you click on this step, you will be asked to enter a disk inside the drive.
-The floppy disk you will insert must be empty or contain data which you do not
-need. You will not have to format it since DrakX will rewrite the whole disk."),
-
-doPartitionDisks =>
-__("At this point you need to choose where on your hard drive to install your
-Mandrake Linux operating system. If your hard drive is empty or if an existing
-operating system is using all the space available, you will need to partition
-it. Basically, partitioning a hard drive consists of logically dividing it to
-create space to install your new Mandrake Linux system.
-
-Because the effects of the partitioning process are usually irreversible,
-partitioning can be intimidating and stressful if you are an inexperienced user.
-Fortunately, there is a wizard which simplifies this process. Before beginning,
-please consult the manual and take your time.
-
-If you are running the install in Expert mode, you will enter DiskDrake, the
-Mandrake Linux partitioning tool, which allows you to fine-tune your partitions.
-See the DiskDrake chapter of the manual. From the installation interface, you
-can use the wizards as described here by clicking the Wizard button of the
-dialog.
-
-If partitions have already been defined, either from a previous installation or
-from another partitioning tool, simply select those to install your Linux
-system.
-
-If partitions are not defined, you will need to create them using the wizard.
-Depending on your hard drive configuration, several options are available:
-
- * Use free space: this option will simply lead to an automatic partitioning of
-your blank drive(s). You will not be prompted further.
-
- * Use existing partition: the wizard has detected one or more existing Linux
-partitions on your hard drive. If you want to use them, choose this option.
-
- * Use the free space on the Windows partition: if Microsoft Windows is installed
-on your hard drive and takes all the space available on it, you have to create
-free space for Linux data. To do that, you can delete your Microsoft Windows
-partition and data (see \"Erase entire disk\" or \"Expert mode\" solutions) or
-resize your Microsoft Windows partition. Resizing can be performed without the
-loss of any data. This solution is recommended if you want to use both Mandrake
-Linux and Microsoft Windows on same computer.
-
- Before choosing this option, please understand that after this procedure, the
-size of your Microsoft Windows partition will be smaller than at the present
-time. You will have less free space under Microsoft Windows to store your data
-or to install new software.
-
- * Erase entire disk: 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 with this solution because you will not be able to
-revert your choice after confirmation.
-
- !! If you choose this option, all data on your disk will be lost. !!
-
- * Remove Windows: 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. !!
-
- * Expert mode: choose this option if you want to manually partition your hard
-drive. Be careful - it is a powerful but dangerous choice. You can very easily
-lose all your data. Hence, do not choose this unless you know what you are
-doing."),
-
-exitInstall =>
-__("There you are. Installation is now complete and your GNU/Linux system is ready
-to use. Just click OK to reboot the system. You can start GNU/Linux or Windows,
-whichever you prefer (if you are dual-booting), as soon as the computer has
-booted up again.
-
-The Advanced button shows two more buttons to:
-
- * generate auto-install floppy: to create an installation floppy disk which 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:
-
- * Replay. This is a partially automated install as the partitioning step (and
-only this one) remains interactive.
-
- * Automated. Fully automated install: the hard disk is completely rewritten, all
-data is lost.
-
- This feature is very handy when installing a great number of similar machines.
-See the Auto install section at our web site.
-
- * Save packages selection(*): saves the packages selection as made previously.
-Then, when doing another installation, insert the floppy inside the driver and
-run the installation going to the help screen by pressing on the F1 key, and by
-issuing >>linux defcfg=\"floppy\"<<.
-
-(*) You need a FAT-formatted floppy (to create one under GNU/Linux, type
-\"mformat a:\")"),
-
-formatPartitions =>
-__("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 any of
-them.
-
-Click on OK when you are ready to format partitions.
-
-Click on Cancel if you want to choose another partition for your new Mandrake
-Linux operating system installation.
-
-Click on Advanced if you wish to select partitions that will be checked for bad
-blocks on the disc."),
-
-installPackages =>
-__("Your new Mandrake Linux operating system is currently being installed. Depending
-on the number of packages you will be installing and the speed of your computer,
-this operation could take from a few minutes to a significant amount of time.
-
-Please be patient."),
-
-license =>
-__("Before continuing you should read carefully the terms of the license. It covers
-the whole Mandrake Linux distribution, and if you do not agree with all the
-terms in it, click on the Refuse button which will immediately terminate the
-installation. To continue with the installation, click the Accept button."),
-
-miscellaneous =>
-__("At this point, it is time to choose the security level desired for the machine.
-As a rule of thumb, the more exposed the machine is, and the more the data
-stored in it is crucial, the higher the security level should be. However, a
-higher security level is generally obtained at the expenses of easiness of use.
-Refer to the MSEC chapter of the ``Reference Manual'' to get more information
-about the meaning of these levels.
-
-If you do not know what to choose, keep the default option."),
-
-partition_with_diskdrake =>
-__("At this point, you need to choose what partition(s) will be used for the
-installation of your Mandrake Linux system. If partitions have been already
-defined, either from a previous installation of GNU/Linux or from 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:
-
- * Clear all: this option deletes all partitions on the selected hard drive.
-
- * Auto allocate: this option allows you to automatically create Ext2 and swap
-partitions in free space of your hard drive.
-
- * Rescue partition table: if your partition table is damaged, you can try to
-recover it using this option. Please be careful and remember that it can fail.
-
- * Undo: use this option to cancel your changes.
-
- * Reload: you can use this option if you wish to undo all changes and load your
-initial partitions table.
-
- * Wizard: 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 knowledge of partitioning.
-
- * Restore from floppy: this option will allow you to restore a previously saved
-partition table from floppy disk.
-
- * Save to floppy: saves the partition table to a floppy. Useful for later
-partition-table recovery if necessary. It is strongly recommended to perform
-this step.
-
- * Done: when you have finished partitioning your hard drive, this will save your
-changes back to disc.
-
-Note: you can reach any option using the keyboard. Navigate through the
-partitions using Tab and Up/Down arrows.
-
-When a partition is selected, you can use:
-
- * (*)(*) to create a new partition (when an empty partition is selected);
-
- * (*)(*) to delete a partition;
-
- * (*)(*) to set the mount point.
-
-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 boot
-loader. 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."),
-
-resizeFATChoose =>
-__("More than one Microsoft Windows partition has been detected on your hard drive.
-Please choose the one you want 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:\")."),
-
-resizeFATWait =>
-__("Please be patient. This operation can take several minutes."),
-
-selectInstallClass =>
-__("DrakX now needs to know if you want to perform a default (Recommended)
-installation or if you want to have greater control (Expert). You also have the
-choice of performing a new install or an upgrade of an existing Mandrake Linux
-system. Clicking Install will completely wipe out the old system. Select Upgrade
-if you are upgrading or repairing an existing system.
-
-Please choose Install if there are no previous version of Mandrake Linux
-installed or if you wish to boot between various operating systems.
-
-Please choose Update if you wish to update or repair an already installed
-version of Mandrake Linux.
-
-Depending on your knowledge of GNU/Linux, please choose one of the following to
-install or update your Mandrake Linux operating system:
-
- * Recommended: choose this if you have never installed a GNU/Linux operating
-system. The installation will be very easy and you will only be asked a few
-questions.
-
- * Expert: if you have a good knowledge of GNU/Linux, you can choose this
-installation class. The expert installation will allow you to perform a highly
-customized installation. Answering some of the questions can be difficult if you
-do not have a good knowledge of GNU/Linux so do not choose this unless you know
-what you are doing."),
-
-selectKeyboard =>
-__("Normally, DrakX selects the right keyboard for you (depending on the language
-you have chosen) and you will not even see this step. However, you might not
-have a keyboard that corresponds exactly to your language: for example, if you
-are an English speaking Swiss person, you may still want your keyboard to be a
-Swiss keyboard. Or if you speak English but are located in Quebec, you may find
-yourself in the same situation. In both cases, you will have to go back to this
-installation step and select an appropriate keyboard from the list.
-
-Click on the More button to be presented with the complete list of supported
-keyboards."),
-
-selectLanguage =>
-__("Please choose your preferred language for installation and system usage.
-
-Clicking on the Advanced button will allow you to select other languages to be
-installed on your workstation. Selecting other languages will install 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 main
-language in the tree view and in the Advanced section click on the grey star
-corresponding to Spanish|Spain.
-
-Note that multiple languages may be installed. Once you have selected any
-additional locales click the OK button to continue."),
-
-selectMouse =>
-__("By default, DrakX assumes you have a two-button mouse and will set it up for
-third-button emulation. DrakX will automatically know whether it is a PS/2,
-serial or USB mouse.
-
-If you wish to specify a different type of mouse select the appropriate type
-from the list provided.
-
-If you choose a mouse other than the default you will be presented with a mouse
-test screen. Use the buttons and wheel to verify that the settings are good. If
-the mouse is not working correctly press the space bar or RETURN to \"Cancel\"
-and choose again."),
-
-selectSerialPort =>
-__("Please select the correct port. For example, the COM1 port under MS Windows is
-named ttyS0 under GNU/Linux."),
-
-setRootPassword =>
-__("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 one 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
-it is too easy. As you can see, you can choose not to enter a password, but we
-strongly advise you against this if only for one reason: do not think that
-because you booted GNU/Linux that your other operating systems are safe from
-mistakes. Since root can overcome all limitations and unintentionally erase all
-data on partitions by carelessly accessing the partitions themselves, it is
-important for it to 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 too easy to
-compromise a system.
-
-However, please do not make the password too long or complicated because you
-must be able to remember it without too much effort.
-
-The password will not be displayed on screen as you type it in. Hence, you will
-have to type the password twice to reduce the chance of a typing error. If you
-do happen to make the same typing error twice, this \"incorrect\" password will
-have to be used the first time you connect.
-
-In expert mode, you will be asked if you will be connecting to an authentication
-server, like NIS or LDAP.
-
-If your network uses LDAP (or NIS) protocol for authentication, select LDAP (or
-NIS) as authentication. If you do not know, ask your network administrator.
-
-If your computer is not connected to any administrated network, you will want to
-choose Local files for authentication."),
-
-setupBootloader =>
-__("Unless you know specifically otherwise, the usual choice is /dev/hda (primary
-master IDE disk) or /dev/sda (first SCSI disk)."),
-
-setupBootloaderAddEntry =>
-__("LILO (the LInux LOader) and GRUB are boot loaders: they are able to boot either
-GNU/Linux or any other operating system present on your computer. Normally,
-these other operating systems are correctly detected and installed. If this is
-not the case, you can add an entry by hand in this screen. Be careful to choose
-the correct parameters.
-
-You may also not want to give access to these other operating systems to anyone.
-In which case, you can delete the corresponding entries. But then, you will need
-a boot disk in order to boot those other operating systems!"),
-
-setupBootloaderBeginner =>
-__("You must indicate where you wish to place the information required to boot to
-GNU/Linux.
-
-Unless you know exactly what you are doing, choose First sector of drive (MBR)."),
-
-setupSCSI =>
-__("DrakX is now detecting any IDE devices present in your computer. It will also
-scan for one or more PCI SCSI card(s) on your system. If a SCSI card is found
-DrakX will automatically install the appropriate driver.
-
-Because hardware detection will sometimes not detect a piece of hardware DrakX
-will ask you to confirm if a PCI SCSI card is present. Click Yes if you know
-that there is a SCSI card installed in your machine. You will be presented a
-list of SCSI cards to choose from. Click No if you have no SCSI hardware. If you
-are unsure you can check the list of hardware detected in your machine by
-selecting See hardware info and clicking OK. Examine the list of hardware and
-then click on the OK button to return to the SCSI interface question.
-
-If you have to manually specify your adapter, DrakX will ask if you want to
-specify options for it. You should allow DrakX to probe the hardware for the
-card-specific options that the hardware needs to initialize. This usually works
-well.
-
-If DrakX is not able to probe for the options that need to be passed, you will
-need to manually provide options to the driver. Please review the ``User Guide''
-(chapter 3, section \"Collecting information on your hardware\") for hints on
-retrieving the parameters required from hardware documentation, from the
-manufacturer's web site (if you have Internet access) or from Microsoft Windows
-(if you used this hardware with Windows on your system)."),
-
-setupYabootAddEntry =>
-__("You can add additional entries for yaboot, either for other operating systems,
-alternate kernels, or for an emergency boot image.
-
-For other OS's, the entry consists only of a label and the root partition.
-
-For Linux, there are a few possible options:
-
- * Label: this is simply the name you will have to type at the yaboot prompt to
-select this boot option.
-
- * Image: this would be 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 used quite often to
-assist in initializing video hardware, or to enable keyboard mouse button
-emulation for the often lacking 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 4,096 bytes. If you need to
-allocate a large ramdisk, this option can be used.
-
- * Read-write: normally the root partition is initially brought up in read-only,
-to allow a file system check before the system becomes \"live\". Here, you can
-override 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 just pressing ENTER at the yaboot prompt. This entry will also be highlighted
-with a \"*\", if you press Tab to see the boot selections."),
-
-setupYabootGeneral =>
-__("Yaboot is a boot loader for NewWorld MacIntosh hardware. It is able to boot
-either GNU/Linux, MacOS or MacOSX if present on your computer. Normally, these
-other operating systems are correctly detected and installed. If this is not the
-case, you can add an entry by hand in this screen. Be careful as to choose the
-correct parameters.
-
-Yaboot's main options are:
-
- * Init Message: a simple text message that is displayed before the boot prompt.
-
- * Boot Device: indicate where you want to place the information required to boot
-to GNU/Linux. Generally, you setup 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 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."),
-
-summary =>
-__("Here are presented various parameters concerning your machine. Depending on your
-installed hardware, you may - or not, see the following entries:
-
- * Mouse: mouse check the current mouse configuration and click on the button to
-change it if necessary.
-
- * Keyboard: keyboard check the current keyboard map configuration and click on
-the button to change that if necessary.
-
- * Timezone: time zoneDrakX, by default, guesses your time zone from the language
-you have chosen. But here again, as for the choice of a keyboard, you may not be
-in the country for which the chosen language should correspond. Hence, you may
-need to click on the Timezone button in order to configure the clock according
-to the time zone you are in.
-
- * Printer: clicking on the No Printer button will open the printer configuration
-wizard.
-
- * Sound card: if a sound card is detected on your system, it is displayed here.
-No modification possible at installation time.
-
- * TV card: if a TV card is detected on your system, it is displayed here. No
-modification possible at installation time.
-
- * ISDN card: if an ISDN card is detected on your system, it is displayed here.
-You can click on the button to change the parameters associated to it."),
-
-takeOverHdChoose =>
-__("Choose the hard drive you want to erase to install your new Mandrake Linux
-partition. Be careful, all data present on it will be lost and will not be
-recoverable!"),
-
-takeOverHdConfirm =>
-__("Click on OK if you want to delete all data and partitions present on this hard
-drive. Be careful, after clicking on OK, you will not be able to recover any
-data and partitions present on this hard drive, including any Windows data.
-
-Click on Cancel to cancel this operation without losing any data and partitions
-present on this hard drive."),
-);
diff --git a/perl-install/http.pm b/perl-install/http.pm
deleted file mode 100644
index d04f90435..000000000
--- a/perl-install/http.pm
+++ /dev/null
@@ -1,41 +0,0 @@
-package http; # $Id$
-
-use IO::Socket;
-use network;
-
-
-my $sock;
-
-sub getFile {
- local($^W) = 0;
-
- my ($host, $port, $path) = $ENV{URLPREFIX} =~ m,^http://([^/:]+)(?::(\d+))?(/\S*)?$,;
- $host = network::resolv($host);
- $path .= "/$_[0]";
-
- $sock->close if $sock;
- $_[0] eq 'XXX' and return; #- force closing connection.
- $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) || 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/install/help/id.xsl b/perl-install/install/help/id.xsl
new file mode 100644
index 000000000..4897a204f
--- /dev/null
+++ b/perl-install/install/help/id.xsl
@@ -0,0 +1,5 @@
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+<xsl:template match="/">
+ <xsl:copy-of select="."/>
+</xsl:template>
+</xsl:stylesheet>
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/install/pixmaps/langs/lang-af.png b/perl-install/install/pixmaps/langs/lang-af.png
new file mode 100644
index 000000000..08a6a6212
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-af.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-am.png b/perl-install/install/pixmaps/langs/lang-am.png
new file mode 100644
index 000000000..ee9f7ae92
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-am.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ar.png b/perl-install/install/pixmaps/langs/lang-ar.png
new file mode 100644
index 000000000..e4abc7176
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ar.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-as.png b/perl-install/install/pixmaps/langs/lang-as.png
new file mode 100644
index 000000000..4f4c6d640
--- /dev/null
+++ 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/install/pixmaps/langs/lang-az.png b/perl-install/install/pixmaps/langs/lang-az.png
new file mode 100644
index 000000000..9aef0bb54
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-az.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-be.png b/perl-install/install/pixmaps/langs/lang-be.png
new file mode 100644
index 000000000..e9cbbbad8
--- /dev/null
+++ 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/install/pixmaps/langs/lang-bg.png b/perl-install/install/pixmaps/langs/lang-bg.png
new file mode 100644
index 000000000..d815d9f5c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-bg.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-bn.png b/perl-install/install/pixmaps/langs/lang-bn.png
new file mode 100644
index 000000000..1fed9d2c4
--- /dev/null
+++ 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/install/pixmaps/langs/lang-br.png b/perl-install/install/pixmaps/langs/lang-br.png
new file mode 100644
index 000000000..51b8a87de
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-br.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-bs.png b/perl-install/install/pixmaps/langs/lang-bs.png
new file mode 100644
index 000000000..df795a31f
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-bs.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ca.png b/perl-install/install/pixmaps/langs/lang-ca.png
new file mode 100644
index 000000000..8609cba11
--- /dev/null
+++ 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/install/pixmaps/langs/lang-cs.png b/perl-install/install/pixmaps/langs/lang-cs.png
new file mode 100644
index 000000000..a9606348c
--- /dev/null
+++ 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/install/pixmaps/langs/lang-cy.png b/perl-install/install/pixmaps/langs/lang-cy.png
new file mode 100644
index 000000000..b62fd955c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-cy.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-da.png b/perl-install/install/pixmaps/langs/lang-da.png
new file mode 100644
index 000000000..5e0e36fb0
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-da.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-de.png b/perl-install/install/pixmaps/langs/lang-de.png
new file mode 100644
index 000000000..d9bedadc0
--- /dev/null
+++ 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/install/pixmaps/langs/lang-el.png b/perl-install/install/pixmaps/langs/lang-el.png
new file mode 100644
index 000000000..62b1bba08
--- /dev/null
+++ 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/install/pixmaps/langs/lang-en_GB.png b/perl-install/install/pixmaps/langs/lang-en_GB.png
new file mode 100644
index 000000000..15ee5fa24
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-en_GB.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-en_IE.png b/perl-install/install/pixmaps/langs/lang-en_IE.png
new file mode 100644
index 000000000..fabe38773
--- /dev/null
+++ 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/install/pixmaps/langs/lang-en_US.png b/perl-install/install/pixmaps/langs/lang-en_US.png
new file mode 100644
index 000000000..974c3283e
--- /dev/null
+++ 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/install/pixmaps/langs/lang-eo.png b/perl-install/install/pixmaps/langs/lang-eo.png
new file mode 100644
index 000000000..063942f3a
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-eo.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-es.png b/perl-install/install/pixmaps/langs/lang-es.png
new file mode 100644
index 000000000..e08d98f13
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-es.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-et.png b/perl-install/install/pixmaps/langs/lang-et.png
new file mode 100644
index 000000000..a93082949
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-et.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-eu.png b/perl-install/install/pixmaps/langs/lang-eu.png
new file mode 100644
index 000000000..024bc1bff
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-eu.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fa.png b/perl-install/install/pixmaps/langs/lang-fa.png
new file mode 100644
index 000000000..2edc3e2c0
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fa.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fi.png b/perl-install/install/pixmaps/langs/lang-fi.png
new file mode 100644
index 000000000..20c6b4654
--- /dev/null
+++ 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/install/pixmaps/langs/lang-fo.png b/perl-install/install/pixmaps/langs/lang-fo.png
new file mode 100644
index 000000000..8b3dc056e
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-fo.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-fr.png b/perl-install/install/pixmaps/langs/lang-fr.png
new file mode 100644
index 000000000..f871e3e5b
--- /dev/null
+++ 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/install/pixmaps/langs/lang-ga.png b/perl-install/install/pixmaps/langs/lang-ga.png
new file mode 100644
index 000000000..af049dab0
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ga.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-gd.png b/perl-install/install/pixmaps/langs/lang-gd.png
new file mode 100644
index 000000000..01ebf64bb
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-gd.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-gl.png b/perl-install/install/pixmaps/langs/lang-gl.png
new file mode 100644
index 000000000..dacb6b91b
--- /dev/null
+++ 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/install/pixmaps/langs/lang-gu.png b/perl-install/install/pixmaps/langs/lang-gu.png
new file mode 100644
index 000000000..10685a0fe
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-gu.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-gv.png b/perl-install/install/pixmaps/langs/lang-gv.png
new file mode 100644
index 000000000..76e2c242a
--- /dev/null
+++ 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/install/pixmaps/langs/lang-he.png b/perl-install/install/pixmaps/langs/lang-he.png
new file mode 100644
index 000000000..a3a43a179
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-he.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-hi.png b/perl-install/install/pixmaps/langs/lang-hi.png
new file mode 100644
index 000000000..3749905da
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-hi.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-hr.png b/perl-install/install/pixmaps/langs/lang-hr.png
new file mode 100644
index 000000000..42add5cf5
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-hr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-hu.png b/perl-install/install/pixmaps/langs/lang-hu.png
new file mode 100644
index 000000000..baa0be79a
--- /dev/null
+++ 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/install/pixmaps/langs/lang-ia.png b/perl-install/install/pixmaps/langs/lang-ia.png
new file mode 100644
index 000000000..ee4d1b2bd
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ia.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-id.png b/perl-install/install/pixmaps/langs/lang-id.png
new file mode 100644
index 000000000..a31b4f3ee
--- /dev/null
+++ 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/install/pixmaps/langs/lang-is.png b/perl-install/install/pixmaps/langs/lang-is.png
new file mode 100644
index 000000000..ea7aea4d2
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-is.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-it.png b/perl-install/install/pixmaps/langs/lang-it.png
new file mode 100644
index 000000000..123c65155
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-it.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-iu.png b/perl-install/install/pixmaps/langs/lang-iu.png
new file mode 100644
index 000000000..eef7f3184
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-iu.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ja.png b/perl-install/install/pixmaps/langs/lang-ja.png
new file mode 100644
index 000000000..7c521e108
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ja.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ka.png b/perl-install/install/pixmaps/langs/lang-ka.png
new file mode 100644
index 000000000..56157f8bc
--- /dev/null
+++ 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/install/pixmaps/langs/lang-kn.png b/perl-install/install/pixmaps/langs/lang-kn.png
new file mode 100644
index 000000000..6cf704799
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-kn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ko.png b/perl-install/install/pixmaps/langs/lang-ko.png
new file mode 100644
index 000000000..8dd6c5529
--- /dev/null
+++ 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/install/pixmaps/langs/lang-kw.png b/perl-install/install/pixmaps/langs/lang-kw.png
new file mode 100644
index 000000000..2e1fa3edf
--- /dev/null
+++ 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/install/pixmaps/langs/lang-li.png b/perl-install/install/pixmaps/langs/lang-li.png
new file mode 100644
index 000000000..77f36a985
--- /dev/null
+++ 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/install/pixmaps/langs/lang-lt.png b/perl-install/install/pixmaps/langs/lang-lt.png
new file mode 100644
index 000000000..9869002a2
--- /dev/null
+++ 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/install/pixmaps/langs/lang-lv.png b/perl-install/install/pixmaps/langs/lang-lv.png
new file mode 100644
index 000000000..b73a804bc
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-lv.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-mi.png b/perl-install/install/pixmaps/langs/lang-mi.png
new file mode 100644
index 000000000..1d0658497
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-mi.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-mk.png b/perl-install/install/pixmaps/langs/lang-mk.png
new file mode 100644
index 000000000..ef82b87d3
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-mk.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ml.png b/perl-install/install/pixmaps/langs/lang-ml.png
new file mode 100644
index 000000000..b1d933a1e
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ml.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-mn.png b/perl-install/install/pixmaps/langs/lang-mn.png
new file mode 100644
index 000000000..18af73e27
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-mn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-mr.png b/perl-install/install/pixmaps/langs/lang-mr.png
new file mode 100644
index 000000000..8181f89bf
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-mr.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ms.png b/perl-install/install/pixmaps/langs/lang-ms.png
new file mode 100644
index 000000000..2d40e300f
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ms.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-mt.png b/perl-install/install/pixmaps/langs/lang-mt.png
new file mode 100644
index 000000000..c75d1413d
--- /dev/null
+++ 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/install/pixmaps/langs/lang-nb.png b/perl-install/install/pixmaps/langs/lang-nb.png
new file mode 100644
index 000000000..ebd4d42d3
--- /dev/null
+++ 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/install/pixmaps/langs/lang-ne.png b/perl-install/install/pixmaps/langs/lang-ne.png
new file mode 100644
index 000000000..695c8b8e2
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ne.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-nl.png b/perl-install/install/pixmaps/langs/lang-nl.png
new file mode 100644
index 000000000..014adbe98
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-nl.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-nn.png b/perl-install/install/pixmaps/langs/lang-nn.png
new file mode 100644
index 000000000..771d08a94
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-nn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-no.png b/perl-install/install/pixmaps/langs/lang-no.png
new file mode 100644
index 000000000..ebd4d42d3
--- /dev/null
+++ 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/install/pixmaps/langs/lang-oc.png b/perl-install/install/pixmaps/langs/lang-oc.png
new file mode 100644
index 000000000..f4efa6dd3
--- /dev/null
+++ 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/install/pixmaps/langs/lang-pl.png b/perl-install/install/pixmaps/langs/lang-pl.png
new file mode 100644
index 000000000..d525067b3
--- /dev/null
+++ 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/install/pixmaps/langs/lang-pt.png b/perl-install/install/pixmaps/langs/lang-pt.png
new file mode 100644
index 000000000..60643675d
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-pt.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-pt_BR.png b/perl-install/install/pixmaps/langs/lang-pt_BR.png
new file mode 100644
index 000000000..41c955b8e
--- /dev/null
+++ 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/install/pixmaps/langs/lang-ro.png b/perl-install/install/pixmaps/langs/lang-ro.png
new file mode 100644
index 000000000..0483ff00a
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ro.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ru.png b/perl-install/install/pixmaps/langs/lang-ru.png
new file mode 100644
index 000000000..50bfb23d2
--- /dev/null
+++ 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/install/pixmaps/langs/lang-se.png b/perl-install/install/pixmaps/langs/lang-se.png
new file mode 100644
index 000000000..92b76282c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-se.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sh.png b/perl-install/install/pixmaps/langs/lang-sh.png
new file mode 100644
index 000000000..05fc8b034
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sh.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sk.png b/perl-install/install/pixmaps/langs/lang-sk.png
new file mode 100644
index 000000000..9e939c857
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sk.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sl.png b/perl-install/install/pixmaps/langs/lang-sl.png
new file mode 100644
index 000000000..fc5657a97
--- /dev/null
+++ 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/install/pixmaps/langs/lang-sq.png b/perl-install/install/pixmaps/langs/lang-sq.png
new file mode 100644
index 000000000..f6c2d2f0e
--- /dev/null
+++ 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/install/pixmaps/langs/lang-sr@Latn.png b/perl-install/install/pixmaps/langs/lang-sr@Latn.png
new file mode 100644
index 000000000..05fc8b034
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-sr@Latn.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ss.png b/perl-install/install/pixmaps/langs/lang-ss.png
new file mode 100644
index 000000000..ed1da073c
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ss.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-st.png b/perl-install/install/pixmaps/langs/lang-st.png
new file mode 100644
index 000000000..3f4c3a022
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-st.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-sv.png b/perl-install/install/pixmaps/langs/lang-sv.png
new file mode 100644
index 000000000..21822dbf8
--- /dev/null
+++ 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/install/pixmaps/langs/lang-ta.png b/perl-install/install/pixmaps/langs/lang-ta.png
new file mode 100644
index 000000000..c603ea0de
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ta.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-te.png b/perl-install/install/pixmaps/langs/lang-te.png
new file mode 100644
index 000000000..a263d449d
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-te.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-tg.png b/perl-install/install/pixmaps/langs/lang-tg.png
new file mode 100644
index 000000000..f537f85ad
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-tg.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-th.png b/perl-install/install/pixmaps/langs/lang-th.png
new file mode 100644
index 000000000..75c913c73
--- /dev/null
+++ 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/install/pixmaps/langs/lang-tr.png b/perl-install/install/pixmaps/langs/lang-tr.png
new file mode 100644
index 000000000..a6c266603
--- /dev/null
+++ 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/install/pixmaps/langs/lang-tt@Cyrl.png b/perl-install/install/pixmaps/langs/lang-tt@Cyrl.png
new file mode 100644
index 000000000..5d8ab2669
--- /dev/null
+++ 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/install/pixmaps/langs/lang-uk.png b/perl-install/install/pixmaps/langs/lang-uk.png
new file mode 100644
index 000000000..cee670ee3
--- /dev/null
+++ 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/install/pixmaps/langs/lang-uz.png b/perl-install/install/pixmaps/langs/lang-uz.png
new file mode 100644
index 000000000..e9761e7d5
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-uz.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-uz@cyrillic.png b/perl-install/install/pixmaps/langs/lang-uz@cyrillic.png
new file mode 100644
index 000000000..d32d0ffea
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-uz@cyrillic.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-ve.png b/perl-install/install/pixmaps/langs/lang-ve.png
new file mode 100644
index 000000000..ac0233033
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-ve.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-vi.png b/perl-install/install/pixmaps/langs/lang-vi.png
new file mode 100644
index 000000000..eaa8fe477
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-vi.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-wa.png b/perl-install/install/pixmaps/langs/lang-wa.png
new file mode 100644
index 000000000..176976de8
--- /dev/null
+++ 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/install/pixmaps/langs/lang-yi.png b/perl-install/install/pixmaps/langs/lang-yi.png
new file mode 100644
index 000000000..729b7e166
--- /dev/null
+++ 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/install/pixmaps/langs/lang-zh_CN.png b/perl-install/install/pixmaps/langs/lang-zh_CN.png
new file mode 100644
index 000000000..b8eff030a
--- /dev/null
+++ b/perl-install/install/pixmaps/langs/lang-zh_CN.png
Binary files differ
diff --git a/perl-install/install/pixmaps/langs/lang-zh_TW.png b/perl-install/install/pixmaps/langs/lang-zh_TW.png
new file mode 100644
index 000000000..bbfdc8fe8
--- /dev/null
+++ 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