summaryrefslogtreecommitdiffstats
BranchCommit messageAuthorAge
masterdrop useless commentThierry Vignaud11 years
distro/mga3apply forgotten patch for drakfirewallJosé Jorge11 years
distro/mga2SVN_SILENT Ukrainian translation updateYuri Chornoivan11 years
distro/mga1Ukrainian translation updateYuri Chornoivan12 years
distro/mes5-2.6.33Revert as it breaks auto_instNicolas Lécureuil12 years
distro/mes6fix unused-but-set-variableAntoine Ginies13 years
distro/mes5fix installing from hard drive on cciss (#57973)Antoine Ginies14 years
distro/mdv2009.0increase versionPascal Terjan14 years
distro/mdv2010.0- detect_devices:Olivier Blin14 years
distro/mdv2008.0run_program: set XAUTHORITY and HOME for the user we will drop privileges toPascal Terjan15 years
distro/mdv2008.1run_program: set XAUTHORITY and HOME for the user we will drop privileges toPascal Terjan15 years
distro/mdv2009.1run_program: set XAUTHORITY and HOME for the user we will drop privileges toPascal Terjan15 years
topic/switching_to_urpmi(rpmDbOpen) make it more readableThierry Vignaud16 years
topic/before_matchbox_wm2009.0 beta 1 logoThierry Vignaud16 years
topic/MDK-2006_0-updateAdd stex and e1000_ngPascal Terjan17 years
distro/mdv2007.1- fix range max value >2TB when creating a partition (useful for LVs >2TB)Pascal Rigaux17 years
topic/mlcd4copy 2007.1 as mlcd4 branch (for drakauth changes)Olivier Blin17 years
topic/MDK-10-updateBetter (and fix) SMP detection, aka. also check for populated & enabled CPUGwenolé Beauchesne18 years
topic/MDK-10_2-updatepackage lsb is requiring many locales though we don't want it to be installedPascal Rigaux19 years
topic/MDK-10_1-updateFix mis-sorted progress barsStew Benedict19 years
topic/aThis commit was manufactured by cvs2svn to create branch 'a'.Mystery Man20 years
topic/mandrakesoftThis commit was manufactured by cvs2svn to create branch 'mandrakesoft'.Mystery Man20 years
topic/MDK92-branchworkaround anthil bug #369Thierry Vignaud20 years
topic/Corpo_2_1Corporate Server 2.1.1 releaseNicolas Planel21 years
topic/KA9_0Removing sundanceErwan Velu21 years
topic/R9_0-64bit-branchno imm/ppa on ia64Gwenolé Beauchesne21 years
topic/MDKC_1_0This commit was manufactured by cvs2svn to create branch 'MDKC_1_0'.Mystery Man21 years
topic/R9_1_HP-branchThis commit was manufactured by cvs2svn to create branchMystery Man21 years
topic/x86_64-branchMore xf86 modules for x86-64Gwenolé Beauchesne22 years
topic/gdk-pixbuf-0-branch- lots of cleanupsThierry Vignaud22 years
topic/ia64-8_1- Don't forget to link the initrd to the real image in /boot/efi/ tooGwenolé Beauchesne23 years
topic/PCMCIA_CS_DISTROThis commit was manufactured by cvs2svn to create branchMystery Man23 years
topic/v_webmin_0_87This commit was manufactured by cvs2svn to create branchMystery Man23 years
topic/gi-ppcThis commit was manufactured by cvs2svn to create branch 'gi-ppc'.Mystery Man23 years
topic/rp-pppoeThis commit was manufactured by cvs2svn to create branch 'rp-pppoe'.Mystery Man23 years
topic/pppThis commit was manufactured by cvs2svn to create branch 'ppp'.Mystery Man23 years
topic/dietlibcThis commit was manufactured by cvs2svn to create branch 'dietlibc'.Mystery Man23 years
topic/firewallreadded passwd. Must verify that it's secure vs msec.damien23 years
topic/unlabeled-1.1.1branch to build the firewall install.damien24 years
 
TagDownloadAuthorAge
before_matchbox_wmdrakx-backup-do-not-use-before_matchbox_wm.tar  drakx-backup-do-not-use-before_matchbox_wm.tar.gz  drakx-backup-do-not-use-before_matchbox_wm.tar.bz2  drakx-backup-do-not-use-before_matchbox_wm.tar.xz  drakx-backup-do-not-use-before_matchbox_wm.zip  Thierry Vignaud16 years
V10_4_6_1mdkdrakx-backup-do-not-use-10_4_6_1mdk.tar  drakx-backup-do-not-use-10_4_6_1mdk.tar.gz  drakx-backup-do-not-use-10_4_6_1mdk.tar.bz2  drakx-backup-do-not-use-10_4_6_1mdk.tar.xz  drakx-backup-do-not-use-10_4_6_1mdk.zip  Mystery Man19 years
V10_34_11_100mdkdrakx-backup-do-not-use-10_34_11_100mdk.tar  drakx-backup-do-not-use-10_34_11_100mdk.tar.gz  drakx-backup-do-not-use-10_34_11_100mdk.tar.bz2  drakx-backup-do-not-use-10_34_11_100mdk.tar.xz  drakx-backup-do-not-use-10_34_11_100mdk.zip  Mystery Man19 years
MDK-2006_0drakx-backup-do-not-use-MDK-2006_0.tar  drakx-backup-do-not-use-MDK-2006_0.tar.gz  drakx-backup-do-not-use-MDK-2006_0.tar.bz2  drakx-backup-do-not-use-MDK-2006_0.tar.xz  drakx-backup-do-not-use-MDK-2006_0.zip  Mystery Man19 years
V10_3_0_53mdkdrakx-backup-do-not-use-10_3_0_53mdk.tar  drakx-backup-do-not-use-10_3_0_53mdk.tar.gz  drakx-backup-do-not-use-10_3_0_53mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_53mdk.tar.xz  drakx-backup-do-not-use-10_3_0_53mdk.zip  Mystery Man19 years
V10_3_0_52mdkdrakx-backup-do-not-use-10_3_0_52mdk.tar  drakx-backup-do-not-use-10_3_0_52mdk.tar.gz  drakx-backup-do-not-use-10_3_0_52mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_52mdk.tar.xz  drakx-backup-do-not-use-10_3_0_52mdk.zip  Mystery Man19 years
V10_3_0_51mdkdrakx-backup-do-not-use-10_3_0_51mdk.tar  drakx-backup-do-not-use-10_3_0_51mdk.tar.gz  drakx-backup-do-not-use-10_3_0_51mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_51mdk.tar.xz  drakx-backup-do-not-use-10_3_0_51mdk.zip  Mystery Man19 years
V10_3_0_50mdkdrakx-backup-do-not-use-10_3_0_50mdk.tar  drakx-backup-do-not-use-10_3_0_50mdk.tar.gz  drakx-backup-do-not-use-10_3_0_50mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_50mdk.tar.xz  drakx-backup-do-not-use-10_3_0_50mdk.zip  Mystery Man19 years
V10_3_0_48mdkdrakx-backup-do-not-use-10_3_0_48mdk.tar  drakx-backup-do-not-use-10_3_0_48mdk.tar.gz  drakx-backup-do-not-use-10_3_0_48mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_48mdk.tar.xz  drakx-backup-do-not-use-10_3_0_48mdk.zip  Mystery Man19 years
V10_3_0_47mdkdrakx-backup-do-not-use-10_3_0_47mdk.tar  drakx-backup-do-not-use-10_3_0_47mdk.tar.gz  drakx-backup-do-not-use-10_3_0_47mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_47mdk.tar.xz  drakx-backup-do-not-use-10_3_0_47mdk.zip  Mystery Man19 years
V10_3_0_35mdkdrakx-backup-do-not-use-10_3_0_35mdk.tar  drakx-backup-do-not-use-10_3_0_35mdk.tar.gz  drakx-backup-do-not-use-10_3_0_35mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_35mdk.tar.xz  drakx-backup-do-not-use-10_3_0_35mdk.zip  Mystery Man19 years
V10_3_0_34mdkdrakx-backup-do-not-use-10_3_0_34mdk.tar  drakx-backup-do-not-use-10_3_0_34mdk.tar.gz  drakx-backup-do-not-use-10_3_0_34mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_34mdk.tar.xz  drakx-backup-do-not-use-10_3_0_34mdk.zip  Mystery Man19 years
V10_3_0_24mdkdrakx-backup-do-not-use-10_3_0_24mdk.tar  drakx-backup-do-not-use-10_3_0_24mdk.tar.gz  drakx-backup-do-not-use-10_3_0_24mdk.tar.bz2  drakx-backup-do-not-use-10_3_0_24mdk.tar.xz  drakx-backup-do-not-use-10_3_0_24mdk.zip  Mystery Man19 years
MDK10-LACIEdrakx-backup-do-not-use-MDK10-LACIE.tar  drakx-backup-do-not-use-MDK10-LACIE.tar.gz  drakx-backup-do-not-use-MDK10-LACIE.tar.bz2  drakx-backup-do-not-use-MDK10-LACIE.tar.xz  drakx-backup-do-not-use-MDK10-LACIE.zip  Mystery Man19 years
MDK10-LACIE-restoredrakx-backup-do-not-use-MDK10-LACIE-restore.tar  drakx-backup-do-not-use-MDK10-LACIE-restore.tar.gz  drakx-backup-do-not-use-MDK10-LACIE-restore.tar.bz2  drakx-backup-do-not-use-MDK10-LACIE-restore.tar.xz  drakx-backup-do-not-use-MDK10-LACIE-restore.zip  Mystery Man19 years
MDK-10_2drakx-backup-do-not-use-MDK-10_2.tar  drakx-backup-do-not-use-MDK-10_2.tar.gz  drakx-backup-do-not-use-MDK-10_2.tar.bz2  drakx-backup-do-not-use-MDK-10_2.tar.xz  drakx-backup-do-not-use-MDK-10_2.zip  Mystery Man19 years
MDK10-LACIE-restore-2drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar  drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar.gz  drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar.bz2  drakx-backup-do-not-use-MDK10-LACIE-restore-2.tar.xz  drakx-backup-do-not-use-MDK10-LACIE-restore-2.zip  Mystery Man19 years
V10_2_20mdkdrakx-backup-do-not-use-10_2_20mdk.tar  drakx-backup-do-not-use-10_2_20mdk.tar.gz  drakx-backup-do-not-use-10_2_20mdk.tar.bz2  drakx-backup-do-not-use-10_2_20mdk.tar.xz  drakx-backup-do-not-use-10_2_20mdk.zip  Mystery Man19 years
V10_2_19mdkdrakx-backup-do-not-use-10_2_19mdk.tar  drakx-backup-do-not-use-10_2_19mdk.tar.gz  drakx-backup-do-not-use-10_2_19mdk.tar.bz2  drakx-backup-do-not-use-10_2_19mdk.tar.xz  drakx-backup-do-not-use-10_2_19mdk.zip  Mystery Man19 years
MDK-10_1drakx-backup-do-not-use-MDK-10_1.tar  drakx-backup-do-not-use-MDK-10_1.tar.gz  drakx-backup-do-not-use-MDK-10_1.tar.bz2  drakx-backup-do-not-use-MDK-10_1.tar.xz  drakx-backup-do-not-use-MDK-10_1.zip  Mystery Man20 years
V10_54mdkdrakx-backup-do-not-use-10_54mdk.tar  drakx-backup-do-not-use-10_54mdk.tar.gz  drakx-backup-do-not-use-10_54mdk.tar.bz2  drakx-backup-do-not-use-10_54mdk.tar.xz  drakx-backup-do-not-use-10_54mdk.zip  Mystery Man20 years
MDK10_0drakx-backup-do-not-use-MDK10_0.tar  drakx-backup-do-not-use-MDK10_0.tar.gz  drakx-backup-do-not-use-MDK10_0.tar.bz2  drakx-backup-do-not-use-MDK10_0.tar.xz  drakx-backup-do-not-use-MDK10_0.zip  Mystery Man20 years
MDK-10_0drakx-backup-do-not-use-MDK-10_0.tar  drakx-backup-do-not-use-MDK-10_0.tar.gz  drakx-backup-do-not-use-MDK-10_0.tar.bz2  drakx-backup-do-not-use-MDK-10_0.tar.xz  drakx-backup-do-not-use-MDK-10_0.zip  Mystery Man20 years
V10_0_21mdkdrakx-backup-do-not-use-10_0_21mdk.tar  drakx-backup-do-not-use-10_0_21mdk.tar.gz  drakx-backup-do-not-use-10_0_21mdk.tar.bz2  drakx-backup-do-not-use-10_0_21mdk.tar.xz  drakx-backup-do-not-use-10_0_21mdk.zip  Mystery Man21 years
V9_3_15mdkdrakx-backup-do-not-use-9_3_15mdk.tar  drakx-backup-do-not-use-9_3_15mdk.tar.gz  drakx-backup-do-not-use-9_3_15mdk.tar.bz2  drakx-backup-do-not-use-9_3_15mdk.tar.xz  drakx-backup-do-not-use-9_3_15mdk.zip  Mystery Man21 years
move_1drakx-backup-do-not-use-move_1.tar  drakx-backup-do-not-use-move_1.tar.gz  drakx-backup-do-not-use-move_1.tar.bz2  drakx-backup-do-not-use-move_1.tar.xz  drakx-backup-do-not-use-move_1.zip  Mystery Man21 years
MDK92-AMD64drakx-backup-do-not-use-MDK92-AMD64.tar  drakx-backup-do-not-use-MDK92-AMD64.tar.gz  drakx-backup-do-not-use-MDK92-AMD64.tar.bz2  drakx-backup-do-not-use-MDK92-AMD64.tar.xz  drakx-backup-do-not-use-MDK92-AMD64.zip  Mystery Man21 years
Corpo_2_1_1drakx-backup-do-not-use-Corpo_2_1_1.tar  drakx-backup-do-not-use-Corpo_2_1_1.tar.gz  drakx-backup-do-not-use-Corpo_2_1_1.tar.bz2  drakx-backup-do-not-use-Corpo_2_1_1.tar.xz  drakx-backup-do-not-use-Corpo_2_1_1.zip  Mystery Man21 years
MDK92drakx-backup-do-not-use-MDK92.tar  drakx-backup-do-not-use-MDK92.tar.gz  drakx-backup-do-not-use-MDK92.tar.bz2  drakx-backup-do-not-use-MDK92.tar.xz  drakx-backup-do-not-use-MDK92.zip  Mystery Man21 years
V9_2_11mdkdrakx-backup-do-not-use-9_2_11mdk.tar  drakx-backup-do-not-use-9_2_11mdk.tar.gz  drakx-backup-do-not-use-9_2_11mdk.tar.bz2  drakx-backup-do-not-use-9_2_11mdk.tar.xz  drakx-backup-do-not-use-9_2_11mdk.zip  Mystery Man21 years
V9_2_0_29mdkdrakx-backup-do-not-use-9_2_0_29mdk.tar  drakx-backup-do-not-use-9_2_0_29mdk.tar.gz  drakx-backup-do-not-use-9_2_0_29mdk.tar.bz2  drakx-backup-do-not-use-9_2_0_29mdk.tar.xz  drakx-backup-do-not-use-9_2_0_29mdk.zip  Mystery Man21 years
ka9_0drakx-backup-do-not-use-ka9_0.tar  drakx-backup-do-not-use-ka9_0.tar.gz  drakx-backup-do-not-use-ka9_0.tar.bz2  drakx-backup-do-not-use-ka9_0.tar.xz  drakx-backup-do-not-use-ka9_0.zip  Mystery Man21 years
V9_2_0_1mdkdrakx-backup-do-not-use-9_2_0_1mdk.tar  drakx-backup-do-not-use-9_2_0_1mdk.tar.gz  drakx-backup-do-not-use-9_2_0_1mdk.tar.bz2  drakx-backup-do-not-use-9_2_0_1mdk.tar.xz  drakx-backup-do-not-use-9_2_0_1mdk.zip  Mystery Man21 years
V9_1_38mdkdrakx-backup-do-not-use-9_1_38mdk.tar  drakx-backup-do-not-use-9_1_38mdk.tar.gz  drakx-backup-do-not-use-9_1_38mdk.tar.bz2  drakx-backup-do-not-use-9_1_38mdk.tar.xz  drakx-backup-do-not-use-9_1_38mdk.zip  Mystery Man21 years
R9_0-AMD64drakx-backup-do-not-use-R9_0-AMD64.tar  drakx-backup-do-not-use-R9_0-AMD64.tar.gz  drakx-backup-do-not-use-R9_0-AMD64.tar.bz2  drakx-backup-do-not-use-R9_0-AMD64.tar.xz  drakx-backup-do-not-use-R9_0-AMD64.zip  Mystery Man21 years
V1_1_9_56mdkdrakx-backup-do-not-use-1_1_9_56mdk.tar  drakx-backup-do-not-use-1_1_9_56mdk.tar.gz  drakx-backup-do-not-use-1_1_9_56mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_56mdk.tar.xz  drakx-backup-do-not-use-1_1_9_56mdk.zip  Mystery Man21 years
V1_1_9_55mdkdrakx-backup-do-not-use-1_1_9_55mdk.tar  drakx-backup-do-not-use-1_1_9_55mdk.tar.gz  drakx-backup-do-not-use-1_1_9_55mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_55mdk.tar.xz  drakx-backup-do-not-use-1_1_9_55mdk.zip  Mystery Man21 years
V1_1_9_54mdkdrakx-backup-do-not-use-1_1_9_54mdk.tar  drakx-backup-do-not-use-1_1_9_54mdk.tar.gz  drakx-backup-do-not-use-1_1_9_54mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_54mdk.tar.xz  drakx-backup-do-not-use-1_1_9_54mdk.zip  Mystery Man21 years
V9_1_29mdkdrakx-backup-do-not-use-9_1_29mdk.tar  drakx-backup-do-not-use-9_1_29mdk.tar.gz  drakx-backup-do-not-use-9_1_29mdk.tar.bz2  drakx-backup-do-not-use-9_1_29mdk.tar.xz  drakx-backup-do-not-use-9_1_29mdk.zip  Mystery Man21 years
R9_1drakx-backup-do-not-use-R9_1.tar  drakx-backup-do-not-use-R9_1.tar.gz  drakx-backup-do-not-use-R9_1.tar.bz2  drakx-backup-do-not-use-R9_1.tar.xz  drakx-backup-do-not-use-R9_1.zip  Mystery Man21 years
V9_1_26mdkdrakx-backup-do-not-use-9_1_26mdk.tar  drakx-backup-do-not-use-9_1_26mdk.tar.gz  drakx-backup-do-not-use-9_1_26mdk.tar.bz2  drakx-backup-do-not-use-9_1_26mdk.tar.xz  drakx-backup-do-not-use-9_1_26mdk.zip  Mystery Man21 years
V9_1_25mdkdrakx-backup-do-not-use-9_1_25mdk.tar  drakx-backup-do-not-use-9_1_25mdk.tar.gz  drakx-backup-do-not-use-9_1_25mdk.tar.bz2  drakx-backup-do-not-use-9_1_25mdk.tar.xz  drakx-backup-do-not-use-9_1_25mdk.zip  Mystery Man21 years
V9_1_24mdkdrakx-backup-do-not-use-9_1_24mdk.tar  drakx-backup-do-not-use-9_1_24mdk.tar.gz  drakx-backup-do-not-use-9_1_24mdk.tar.bz2  drakx-backup-do-not-use-9_1_24mdk.tar.xz  drakx-backup-do-not-use-9_1_24mdk.zip  Mystery Man21 years
V9_1_23mdkdrakx-backup-do-not-use-9_1_23mdk.tar  drakx-backup-do-not-use-9_1_23mdk.tar.gz  drakx-backup-do-not-use-9_1_23mdk.tar.bz2  drakx-backup-do-not-use-9_1_23mdk.tar.xz  drakx-backup-do-not-use-9_1_23mdk.zip  Mystery Man21 years
V9_1_19mdkdrakx-backup-do-not-use-9_1_19mdk.tar  drakx-backup-do-not-use-9_1_19mdk.tar.gz  drakx-backup-do-not-use-9_1_19mdk.tar.bz2  drakx-backup-do-not-use-9_1_19mdk.tar.xz  drakx-backup-do-not-use-9_1_19mdk.zip  Mystery Man21 years
V9_1_18mdkdrakx-backup-do-not-use-9_1_18mdk.tar  drakx-backup-do-not-use-9_1_18mdk.tar.gz  drakx-backup-do-not-use-9_1_18mdk.tar.bz2  drakx-backup-do-not-use-9_1_18mdk.tar.xz  drakx-backup-do-not-use-9_1_18mdk.zip  Mystery Man21 years
V9_1_17mdkdrakx-backup-do-not-use-9_1_17mdk.tar  drakx-backup-do-not-use-9_1_17mdk.tar.gz  drakx-backup-do-not-use-9_1_17mdk.tar.bz2  drakx-backup-do-not-use-9_1_17mdk.tar.xz  drakx-backup-do-not-use-9_1_17mdk.zip  Mystery Man21 years
V9_1_11mdkdrakx-backup-do-not-use-9_1_11mdk.tar  drakx-backup-do-not-use-9_1_11mdk.tar.gz  drakx-backup-do-not-use-9_1_11mdk.tar.bz2  drakx-backup-do-not-use-9_1_11mdk.tar.xz  drakx-backup-do-not-use-9_1_11mdk.zip  Mystery Man21 years
V9_1_6mdkdrakx-backup-do-not-use-9_1_6mdk.tar  drakx-backup-do-not-use-9_1_6mdk.tar.gz  drakx-backup-do-not-use-9_1_6mdk.tar.bz2  drakx-backup-do-not-use-9_1_6mdk.tar.xz  drakx-backup-do-not-use-9_1_6mdk.zip  Mystery Man22 years
V9_1_0_34mdkdrakx-backup-do-not-use-9_1_0_34mdk.tar  drakx-backup-do-not-use-9_1_0_34mdk.tar.gz  drakx-backup-do-not-use-9_1_0_34mdk.tar.bz2  drakx-backup-do-not-use-9_1_0_34mdk.tar.xz  drakx-backup-do-not-use-9_1_0_34mdk.zip  Mystery Man22 years
KA9_0_noscsidrakx-backup-do-not-use-KA9_0_noscsi.tar  drakx-backup-do-not-use-KA9_0_noscsi.tar.gz  drakx-backup-do-not-use-KA9_0_noscsi.tar.bz2  drakx-backup-do-not-use-KA9_0_noscsi.tar.xz  drakx-backup-do-not-use-KA9_0_noscsi.zip  Mystery Man22 years
R9_0drakx-backup-do-not-use-R9_0.tar  drakx-backup-do-not-use-R9_0.tar.gz  drakx-backup-do-not-use-R9_0.tar.bz2  drakx-backup-do-not-use-R9_0.tar.xz  drakx-backup-do-not-use-R9_0.zip  Mystery Man22 years
V1_1_9_53mdkdrakx-backup-do-not-use-1_1_9_53mdk.tar  drakx-backup-do-not-use-1_1_9_53mdk.tar.gz  drakx-backup-do-not-use-1_1_9_53mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_53mdk.tar.xz  drakx-backup-do-not-use-1_1_9_53mdk.zip  Mystery Man22 years
V1_1_9_51mdkdrakx-backup-do-not-use-1_1_9_51mdk.tar  drakx-backup-do-not-use-1_1_9_51mdk.tar.gz  drakx-backup-do-not-use-1_1_9_51mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_51mdk.tar.xz  drakx-backup-do-not-use-1_1_9_51mdk.zip  Mystery Man22 years
V1_1_9_52mdkdrakx-backup-do-not-use-1_1_9_52mdk.tar  drakx-backup-do-not-use-1_1_9_52mdk.tar.gz  drakx-backup-do-not-use-1_1_9_52mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_52mdk.tar.xz  drakx-backup-do-not-use-1_1_9_52mdk.zip  Mystery Man22 years
R9_0_rc3drakx-backup-do-not-use-R9_0_rc3.tar  drakx-backup-do-not-use-R9_0_rc3.tar.gz  drakx-backup-do-not-use-R9_0_rc3.tar.bz2  drakx-backup-do-not-use-R9_0_rc3.tar.xz  drakx-backup-do-not-use-R9_0_rc3.zip  Mystery Man22 years
V1_1_9_49mdkdrakx-backup-do-not-use-1_1_9_49mdk.tar  drakx-backup-do-not-use-1_1_9_49mdk.tar.gz  drakx-backup-do-not-use-1_1_9_49mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_49mdk.tar.xz  drakx-backup-do-not-use-1_1_9_49mdk.zip  Mystery Man22 years
V1_1_9_48mdkdrakx-backup-do-not-use-1_1_9_48mdk.tar  drakx-backup-do-not-use-1_1_9_48mdk.tar.gz  drakx-backup-do-not-use-1_1_9_48mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_48mdk.tar.xz  drakx-backup-do-not-use-1_1_9_48mdk.zip  Mystery Man22 years
V1_1_9_46mdkdrakx-backup-do-not-use-1_1_9_46mdk.tar  drakx-backup-do-not-use-1_1_9_46mdk.tar.gz  drakx-backup-do-not-use-1_1_9_46mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_46mdk.tar.xz  drakx-backup-do-not-use-1_1_9_46mdk.zip  Mystery Man22 years
V1_1_9_45mdkdrakx-backup-do-not-use-1_1_9_45mdk.tar  drakx-backup-do-not-use-1_1_9_45mdk.tar.gz  drakx-backup-do-not-use-1_1_9_45mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_45mdk.tar.xz  drakx-backup-do-not-use-1_1_9_45mdk.zip  Mystery Man22 years
V1_1_9_42mdkdrakx-backup-do-not-use-1_1_9_42mdk.tar  drakx-backup-do-not-use-1_1_9_42mdk.tar.gz  drakx-backup-do-not-use-1_1_9_42mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_42mdk.tar.xz  drakx-backup-do-not-use-1_1_9_42mdk.zip  Mystery Man22 years
V1_1_9_35mdkdrakx-backup-do-not-use-1_1_9_35mdk.tar  drakx-backup-do-not-use-1_1_9_35mdk.tar.gz  drakx-backup-do-not-use-1_1_9_35mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_35mdk.tar.xz  drakx-backup-do-not-use-1_1_9_35mdk.zip  Mystery Man22 years
V1_1_9_31mdkdrakx-backup-do-not-use-1_1_9_31mdk.tar  drakx-backup-do-not-use-1_1_9_31mdk.tar.gz  drakx-backup-do-not-use-1_1_9_31mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_31mdk.tar.xz  drakx-backup-do-not-use-1_1_9_31mdk.zip  Mystery Man22 years
V1_1_9_25mdkdrakx-backup-do-not-use-1_1_9_25mdk.tar  drakx-backup-do-not-use-1_1_9_25mdk.tar.gz  drakx-backup-do-not-use-1_1_9_25mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_25mdk.tar.xz  drakx-backup-do-not-use-1_1_9_25mdk.zip  Mystery Man22 years
V1_1_9_16mdkdrakx-backup-do-not-use-1_1_9_16mdk.tar  drakx-backup-do-not-use-1_1_9_16mdk.tar.gz  drakx-backup-do-not-use-1_1_9_16mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_16mdk.tar.xz  drakx-backup-do-not-use-1_1_9_16mdk.zip  Mystery Man22 years
V1_1_9_9mdkdrakx-backup-do-not-use-1_1_9_9mdk.tar  drakx-backup-do-not-use-1_1_9_9mdk.tar.gz  drakx-backup-do-not-use-1_1_9_9mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_9mdk.tar.xz  drakx-backup-do-not-use-1_1_9_9mdk.zip  Mystery Man22 years
V1_1_9_5mdkdrakx-backup-do-not-use-1_1_9_5mdk.tar  drakx-backup-do-not-use-1_1_9_5mdk.tar.gz  drakx-backup-do-not-use-1_1_9_5mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_5mdk.tar.xz  drakx-backup-do-not-use-1_1_9_5mdk.zip  Mystery Man22 years
V1_1_9_2mdkdrakx-backup-do-not-use-1_1_9_2mdk.tar  drakx-backup-do-not-use-1_1_9_2mdk.tar.gz  drakx-backup-do-not-use-1_1_9_2mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_2mdk.tar.xz  drakx-backup-do-not-use-1_1_9_2mdk.zip  Mystery Man22 years
V1_1_9_4mdkdrakx-backup-do-not-use-1_1_9_4mdk.tar  drakx-backup-do-not-use-1_1_9_4mdk.tar.gz  drakx-backup-do-not-use-1_1_9_4mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_4mdk.tar.xz  drakx-backup-do-not-use-1_1_9_4mdk.zip  Mystery Man22 years
V1_1_9_1mdkdrakx-backup-do-not-use-1_1_9_1mdk.tar  drakx-backup-do-not-use-1_1_9_1mdk.tar.gz  drakx-backup-do-not-use-1_1_9_1mdk.tar.bz2  drakx-backup-do-not-use-1_1_9_1mdk.tar.xz  drakx-backup-do-not-use-1_1_9_1mdk.zip  Mystery Man22 years
V1_1_8_16mdkdrakx-backup-do-not-use-1_1_8_16mdk.tar  drakx-backup-do-not-use-1_1_8_16mdk.tar.gz  drakx-backup-do-not-use-1_1_8_16mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_16mdk.tar.xz  drakx-backup-do-not-use-1_1_8_16mdk.zip  Mystery Man22 years
V1_1_8_10mdkdrakx-backup-do-not-use-1_1_8_10mdk.tar  drakx-backup-do-not-use-1_1_8_10mdk.tar.gz  drakx-backup-do-not-use-1_1_8_10mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_10mdk.tar.xz  drakx-backup-do-not-use-1_1_8_10mdk.zip  Mystery Man22 years
V1_1_8_11mdkdrakx-backup-do-not-use-1_1_8_11mdk.tar  drakx-backup-do-not-use-1_1_8_11mdk.tar.gz  drakx-backup-do-not-use-1_1_8_11mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_11mdk.tar.xz  drakx-backup-do-not-use-1_1_8_11mdk.zip  Mystery Man22 years
V1_1_8_12mdkdrakx-backup-do-not-use-1_1_8_12mdk.tar  drakx-backup-do-not-use-1_1_8_12mdk.tar.gz  drakx-backup-do-not-use-1_1_8_12mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_12mdk.tar.xz  drakx-backup-do-not-use-1_1_8_12mdk.zip  Mystery Man22 years
V1_1_8_13mdkdrakx-backup-do-not-use-1_1_8_13mdk.tar  drakx-backup-do-not-use-1_1_8_13mdk.tar.gz  drakx-backup-do-not-use-1_1_8_13mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_13mdk.tar.xz  drakx-backup-do-not-use-1_1_8_13mdk.zip  Mystery Man22 years
V1_1_8_14mdkdrakx-backup-do-not-use-1_1_8_14mdk.tar  drakx-backup-do-not-use-1_1_8_14mdk.tar.gz  drakx-backup-do-not-use-1_1_8_14mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_14mdk.tar.xz  drakx-backup-do-not-use-1_1_8_14mdk.zip  Mystery Man22 years
V1_1_8_9mdkdrakx-backup-do-not-use-1_1_8_9mdk.tar  drakx-backup-do-not-use-1_1_8_9mdk.tar.gz  drakx-backup-do-not-use-1_1_8_9mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_9mdk.tar.xz  drakx-backup-do-not-use-1_1_8_9mdk.zip  Mystery Man22 years
V1_1_8_8mdkdrakx-backup-do-not-use-1_1_8_8mdk.tar  drakx-backup-do-not-use-1_1_8_8mdk.tar.gz  drakx-backup-do-not-use-1_1_8_8mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_8mdk.tar.xz  drakx-backup-do-not-use-1_1_8_8mdk.zip  Mystery Man22 years
V1_1_8_7mdkdrakx-backup-do-not-use-1_1_8_7mdk.tar  drakx-backup-do-not-use-1_1_8_7mdk.tar.gz  drakx-backup-do-not-use-1_1_8_7mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_7mdk.tar.xz  drakx-backup-do-not-use-1_1_8_7mdk.zip  Mystery Man22 years
V1_1_8_6mdkdrakx-backup-do-not-use-1_1_8_6mdk.tar  drakx-backup-do-not-use-1_1_8_6mdk.tar.gz  drakx-backup-do-not-use-1_1_8_6mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_6mdk.tar.xz  drakx-backup-do-not-use-1_1_8_6mdk.zip  Mystery Man22 years
V1_1_8_5mdkdrakx-backup-do-not-use-1_1_8_5mdk.tar  drakx-backup-do-not-use-1_1_8_5mdk.tar.gz  drakx-backup-do-not-use-1_1_8_5mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_5mdk.tar.xz  drakx-backup-do-not-use-1_1_8_5mdk.zip  Mystery Man22 years
V1_1_8_3mdkdrakx-backup-do-not-use-1_1_8_3mdk.tar  drakx-backup-do-not-use-1_1_8_3mdk.tar.gz  drakx-backup-do-not-use-1_1_8_3mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_3mdk.tar.xz  drakx-backup-do-not-use-1_1_8_3mdk.zip  Mystery Man22 years
V1_1_8_4mdkdrakx-backup-do-not-use-1_1_8_4mdk.tar  drakx-backup-do-not-use-1_1_8_4mdk.tar.gz  drakx-backup-do-not-use-1_1_8_4mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_4mdk.tar.xz  drakx-backup-do-not-use-1_1_8_4mdk.zip  Mystery Man22 years
V1_1_8_1mdkdrakx-backup-do-not-use-1_1_8_1mdk.tar  drakx-backup-do-not-use-1_1_8_1mdk.tar.gz  drakx-backup-do-not-use-1_1_8_1mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_1mdk.tar.xz  drakx-backup-do-not-use-1_1_8_1mdk.zip  Mystery Man22 years
V1_1_8_2mdkdrakx-backup-do-not-use-1_1_8_2mdk.tar  drakx-backup-do-not-use-1_1_8_2mdk.tar.gz  drakx-backup-do-not-use-1_1_8_2mdk.tar.bz2  drakx-backup-do-not-use-1_1_8_2mdk.tar.xz  drakx-backup-do-not-use-1_1_8_2mdk.zip  Mystery Man22 years
V1_1_7_99mdkdrakx-backup-do-not-use-1_1_7_99mdk.tar  drakx-backup-do-not-use-1_1_7_99mdk.tar.gz  drakx-backup-do-not-use-1_1_7_99mdk.tar.bz2  drakx-backup-do-not-use-1_1_7_99mdk.tar.xz  drakx-backup-do-not-use-1_1_7_99mdk.zip  Mystery Man22 years
R8_2drakx-backup-do-not-use-R8_2.tar  drakx-backup-do-not-use-R8_2.tar.gz  drakx-backup-do-not-use-R8_2.tar.bz2  drakx-backup-do-not-use-R8_2.tar.xz  drakx-backup-do-not-use-R8_2.zip  Mystery Man22 years
V3_1_29drakx-backup-do-not-use-3_1_29.tar  drakx-backup-do-not-use-3_1_29.tar.gz  drakx-backup-do-not-use-3_1_29.tar.bz2  drakx-backup-do-not-use-3_1_29.tar.xz  drakx-backup-do-not-use-3_1_29.zip  Mystery Man23 years
OEM8_1drakx-backup-do-not-use-OEM8_1.tar  drakx-backup-do-not-use-OEM8_1.tar.gz  drakx-backup-do-not-use-OEM8_1.tar.bz2  drakx-backup-do-not-use-OEM8_1.tar.xz  drakx-backup-do-not-use-OEM8_1.zip  Mystery Man23 years
R8_1drakx-backup-do-not-use-R8_1.tar  drakx-backup-do-not-use-R8_1.tar.gz  drakx-backup-do-not-use-R8_1.tar.bz2  drakx-backup-do-not-use-R8_1.tar.xz  drakx-backup-do-not-use-R8_1.zip  Mystery Man23 years
V_9mdkdrakx-backup-do-not-use-V_9mdk.tar  drakx-backup-do-not-use-V_9mdk.tar.gz  drakx-backup-do-not-use-V_9mdk.tar.bz2  drakx-backup-do-not-use-V_9mdk.tar.xz  drakx-backup-do-not-use-V_9mdk.zip  Mystery Man23 years
v0_8drakx-backup-do-not-use-0_8.tar  drakx-backup-do-not-use-0_8.tar.gz  drakx-backup-do-not-use-0_8.tar.bz2  drakx-backup-do-not-use-0_8.tar.xz  drakx-backup-do-not-use-0_8.zip  Mystery Man23 years
v8_0drakx-backup-do-not-use-8_0.tar  drakx-backup-do-not-use-8_0.tar.gz  drakx-backup-do-not-use-8_0.tar.bz2  drakx-backup-do-not-use-8_0.tar.xz  drakx-backup-do-not-use-8_0.zip  Mystery Man23 years
before_rpm4drakx-backup-do-not-use-before_rpm4.tar  drakx-backup-do-not-use-before_rpm4.tar.gz  drakx-backup-do-not-use-before_rpm4.tar.bz2  drakx-backup-do-not-use-before_rpm4.tar.xz  drakx-backup-do-not-use-before_rpm4.zip  Mystery Man24 years
rc1_fixeddrakx-backup-do-not-use-rc1_fixed.tar  drakx-backup-do-not-use-rc1_fixed.tar.gz  drakx-backup-do-not-use-rc1_fixed.tar.bz2  drakx-backup-do-not-use-rc1_fixed.tar.xz  drakx-backup-do-not-use-rc1_fixed.zip  Mystery Man24 years
odysseydrakx-backup-do-not-use-odyssey.tar  drakx-backup-do-not-use-odyssey.tar.gz  drakx-backup-do-not-use-odyssey.tar.bz2  drakx-backup-do-not-use-odyssey.tar.xz  drakx-backup-do-not-use-odyssey.zip  Mystery Man24 years
helium_sparc_rc1drakx-backup-do-not-use-helium_sparc_rc1.tar  drakx-backup-do-not-use-helium_sparc_rc1.tar.gz  drakx-backup-do-not-use-helium_sparc_rc1.tar.bz2  drakx-backup-do-not-use-helium_sparc_rc1.tar.xz  drakx-backup-do-not-use-helium_sparc_rc1.zip  Mystery Man24 years
heliumdrakx-backup-do-not-use-helium.tar  drakx-backup-do-not-use-helium.tar.gz  drakx-backup-do-not-use-helium.tar.bz2  drakx-backup-do-not-use-helium.tar.xz  drakx-backup-do-not-use-helium.zip  Mystery Man24 years
oemdrakx-backup-do-not-use-oem.tar  drakx-backup-do-not-use-oem.tar.gz  drakx-backup-do-not-use-oem.tar.bz2  drakx-backup-do-not-use-oem.tar.xz  drakx-backup-do-not-use-oem.zip  Mystery Man24 years
airdrakx-backup-do-not-use-air.tar  drakx-backup-do-not-use-air.tar.gz  drakx-backup-do-not-use-air.tar.bz2  drakx-backup-do-not-use-air.tar.xz  drakx-backup-do-not-use-air.zip  Mystery Man25 years
V1_0drakx-backup-do-not-use-1_0.tar  drakx-backup-do-not-use-1_0.tar.gz  drakx-backup-do-not-use-1_0.tar.bz2  drakx-backup-do-not-use-1_0.tar.xz  drakx-backup-do-not-use-1_0.zip  Mystery Man25 years
r">qq(LOCALES"$_")} = 1; #- mainly for zh in case of zh_TW.Big5 } foreach (lang::langsLANGUAGE($o->{langs})) { $o->{compssUsersChoice}{qq(LOCALES"$_")} = 1; } $o->{compssUsersChoice}{'CHARSET"' . lang::lang2charset($o->{lang}) . '"'} = 1; } sub unselectMostPackages { my ($o) = @_; pkgs::unselectAllPackages($o->{packages}); pkgs::selectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_) || next) foreach @{$o->{default_packages}}; } sub warnAboutNaughtyServers { my ($o) = @_; my @naughtyServers = pkgs::naughtyServers($o->{packages}) or return 1; if (!$o->ask_yesorno('', formatAlaTeX(_("You have selected the following server(s): %s These servers are activated by default. They don't have any known security issues, but some new could be found. In that case, you must make sure to upgrade as soon as possible. Do you really want to install these servers? ", join(", ", @naughtyServers))), 1)) { pkgs::unselectPackage($o->{packages}, pkgs::packageByName($o->{packages}, $_)) foreach @naughtyServers; } } sub addToBeDone(&$) { my ($f, $step) = @_; return &$f() if $::o->{steps}{$step}{done}; push @{$::o->{steps}{$step}{toBeDone}}, $f; } sub setAuthentication { my ($o) = @_; my ($shadow, $md5, $ldap, $nis) = @{$o->{authentication} || {}}{qw(shadow md5 LDAP NIS)}; my $p = $o->{prefix}; #- obsoleted always enabled (in /etc/pam.d/system-auth furthermore) #any::enableMD5Shadow($p, $shadow, $md5); any::enableShadow($p) if $shadow; if ($ldap) { $o->pkg_install(qw(chkauth openldap-clients nss_ldap pam_ldap)); run_program::rooted($o->{prefix}, "/usr/sbin/chkauth", "ldap", "-D", $o->{netc}{LDAPDOMAIN}, "-s", $ldap); } elsif ($nis) { #$o->pkg_install(qw(chkauth ypbind yp-tools net-tools)); #run_program::rooted($o->{prefix}, "/usr/sbin/chkauth", "yp", $domain, "-s", $nis); $o->pkg_install("ypbind"); my $domain = $o->{netc}{NISDOMAIN}; $domain || $nis ne "broadcast" or die _("Can't use broadcast with no NIS domain"); my $t = $domain ? "domain $domain" . ($nis ne "broadcast" && " server") : "ypserver"; substInFile { $_ = "#~$_" unless /^#/; $_ .= "$t $nis\n" if eof; } "$p/etc/yp.conf"; require network; network::write_conf("$p/etc/sysconfig/network", $o->{netc}); } } sub killCardServices { my $pid = chomp_(cat_("/tmp/cardmgr.pid")); $pid and kill(15, $pid); #- send SIGTERM } sub unlockCdrom(;$) { my ($cdrom) = @_; $cdrom or cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image), and $cdrom = $1; eval { $cdrom and ioctl detect_devices::tryOpen($1), c::CDROM_LOCKDOOR(), 0 }; } sub ejectCdrom(;$) { my ($cdrom) = @_; getFile("XXX"); #- close still opened filehandle $cdrom ||= $1 if cat_("/proc/mounts") =~ m,(/(?:dev|tmp)/\S+)\s+(?:/mnt/cdrom|/tmp/image),; if ($cdrom) { #- umount BEFORE opening the cdrom device otherwise the umount will #- D state if the cdrom is already removed eval { fs::umount("/tmp/image") }; eval { ioctl detect_devices::tryOpen($cdrom), c::CDROMEJECT(), 1 }; } } sub setupFB { my ($o, $vga) = @_; $vga ||= 785; #- assume at least 640x480x16. require bootloader; #- update bootloader entries with vga, all kernel are now framebuffer. foreach (qw(vmlinuz vmlinuz-secure vmlinuz-smp vmlinuz-hack)) { if (my $e = bootloader::get("/boot/$_", $o->{bootloader})) { $e->{vga} = $vga; } } bootloader::install($o->{prefix}, $o->{bootloader}, $o->{fstab}, $o->{all_hds}{hds}); 1; } sub hdInstallPath() { my $tail = first(readlink("/tmp/image") =~ m|^/tmp/hdimage/(.*)|); my $head = first(readlink("/tmp/hdimage") =~ m|$::o->{prefix}(.*)|); $tail && ($head ? "$head/$tail" : "/mnt/hd/$tail"); } sub install_urpmi { my ($prefix, $method, $mediums) = @_; #- rare case where urpmi cannot be installed (no hd install path). $method eq 'disk' && !hdInstallPath() and return; my @cfg = map { my $name = $_->{fakemedium}; local *LIST; my $mask = umask 077; open LIST, ">$prefix/var/lib/urpmi/list.$name" or log::l("failed to write list.$name"); umask $mask; my $dir = ($_->{prefix} || ${{ nfs => "file://mnt/nfs", disk => "file:/" . hdInstallPath(), ftp => $ENV{URLPREFIX}, http => $ENV{URLPREFIX}, cdrom => "removable://mnt/cdrom" }}{$method}) . "/$_->{rpmsdir}"; local *FILES; open FILES, "$ENV{LD_LOADER} parsehdlist /tmp/$_->{hdlist} |"; print LIST "$dir/$_\n" foreach chomp_(<FILES>); close FILES or log::l("parsehdlist failed"), return; close LIST; #- build synthesis file if there are still not existing (ie not copied from mirror). if (-s "$prefix/var/lib/urpmi/synthesis.$name.cz" > 32) { run_program::rooted($prefix, "parsehdlist", ">", "/var/lib/urpmi/synthesis.hdlist.$name", "--synthesis", "/var/lib/urpmi/hdlist.$name.cz"); run_program::rooted($prefix, "gzip", "-S", ".cz", "/var/lib/urpmi/synthesis.hdlist.$name"); } my ($qname, $qdir) = ($name, $dir); $qname =~ s/(\s)/\\$1/g; $qdir =~ s/(\s)/\\$1/g; #- output new urpmi.cfg format here. "$qname " . ($dir !~ /^(ftp|http)/ && $qdir) . " { hdlist: hdlist.$name.cz with_hdlist: ../base/$_->{hdlist} list: list.$name" . ($dir =~ /removable:/ && " removable: /dev/cdrom") . ($_->{update} && " update") . " } "; } sort { $a->{medium} <=> $b->{medium} } values %$mediums; eval { output "$prefix/etc/urpmi/urpmi.cfg", @cfg }; } #-############################################################################### #- kde stuff #-############################################################################### sub kderc_largedisplay { my ($prefix) = @_; update_gnomekderc($_, 'KDE', Contrast => 7, kfmIconStyle => "Large", kpanelIconStyle => "Normal", #- to change to Large when icons looks better KDEIconStyle => "Large") foreach list_skels($prefix, '.kderc'); substInFile { s/^(GridWidth)=85/$1=100/; s/^(GridHeight)=70/$1=75/; } $_ foreach list_skels($prefix, '.kde/share/config/kfmrc'); } sub kdeicons_postinstall { my ($prefix) = @_; #- parse etc/fstab file to search for dos/win, floppy, zip, cdroms icons. #- handle both supermount and fsdev usage. my %l = ( 'cdrom' => [ 'cdrom', 'Cd-Rom' ], 'zip' => [ 'zip', 'Zip' ], 'floppy-ls' => [ 'floppy', 'LS-120' ], 'floppy' => [ 'floppy', 'Floppy' ], ); foreach (fs::read_fstab($prefix, "/etc/fstab")) { my ($name_, $nb) = $_->{mntpoint} =~ m|.*/(\S+?)(\d*)$/|; my ($name, $text) = @{$l{$name_} || []}; my $f = ${{ supermount => sub { $name .= '.fsdev' if $name }, vfat => sub { $name = 'Dos_'; $text = $name_ }, }}{$_->{type}}; &$f if $f; template2userfile($prefix, "$ENV{SHARE_PATH}/$name.kdelnk.in", "Desktop/$text" . ($nb && " $nb"). ".kdelnk", 1, %$_) if $name; } # rename the .kdelnk to the name found in the .kdelnk as kde doesn't use it # for displaying foreach my $dir (grep { -d $_ } list_skels($prefix, 'Desktop')) { foreach (grep { /\.kdelnk$/ } all($dir)) { cat_("$dir/$_") =~ /^Name\[\Q$ENV{LANG}\E\]=(.{2,14})$/m and rename "$dir/$_", "$dir/$1.kdelnk"; } } } sub kdemove_desktop_file { my ($prefix) = @_; my @toMove = qw(doc.kdelnk news.kdelnk updates.kdelnk home.kdelnk printer.kdelnk floppy.kdelnk cdrom.kdelnk FLOPPY.kdelnk CDROM.kdelnk); #- remove any existing save in Trash of each user and #- move appropriate file there after an upgrade. foreach my $dir (grep { -d $_ } list_skels($prefix, 'Desktop')) { renamef("$dir/$_", "$dir/Trash/$_") foreach grep { -e "$dir/$_" } @toMove, grep { /\.rpmorig$/ } all($dir) } } #-############################################################################### #- auto_install stuff #-############################################################################### sub auto_inst_file() { ($::g_auto_install ? "/tmp" : "$::o->{prefix}/root/drakx") . "/auto_inst.cfg.pl" } sub report_bug { my ($prefix) = @_; any::report_bug($prefix, 'auto_inst' => g_auto_install()); } sub g_auto_install { my ($replay) = @_; my $o = {}; require pkgs; $o->{default_packages} = pkgs::selected_leaves($::o->{packages}); my @fields = qw(mntpoint type size); $o->{partitions} = [ map { my %l; @l{@fields} = @$_{@fields}; \%l } grep { $_->{mntpoint} } @{$::o->{fstab}} ]; exists $::o->{$_} and $o->{$_} = $::o->{$_} foreach qw(lang authentication mouse wacom netc timezone superuser intf keyboard users partitioning isUpgrade manualFstab nomouseprobe crypto security netcnx useSupermount autoExitInstall mkbootdisk); #- TODO modules bootloader if (my $printer = $::o->{printer}) { $o->{printer}{$_} = $::o->{printer}{$_} foreach qw(SPOOLER DEFAULT BROWSEPOLLADDR BROWSEPOLLPORT MANUALCUPSCONFIG); $o->{printer}{configured} = {}; foreach my $queue (keys %{$::o->{printer}{configured}}) { my $val = $::o->{printer}{configured}{$queue}{queuedata}; exists $val->{$_} and $o->{printer}{configured}{$queue}{queuedata}{$_} = $val->{$_} foreach keys %{$val || {}}; } } if (my $card = $::o->{X}{card}) { $o->{X}{$_} = $::o->{X}{$_} foreach qw(default_depth resolution_wanted); if ($o->{X}{default_depth} and my $depth = $card->{depth}{$o->{X}{default_depth}}) { $depth ||= []; $o->{X}{resolution_wanted} ||= join "x", @{$depth->[0]} unless is_empty_array_ref($depth->[0]); $o->{X}{monitor} = $::o->{X}{monitor} if $::o->{X}{monitor}{manual}; } } local $o->{partitioning}{auto_allocate} = !$replay; local $o->{autoExitInstall} = !$replay; #- deep copy because we're modifying it below $o->{users} = [ @{$o->{users} || []} ]; $_ = { %{$_ || {}} }, delete @$_{qw(oldu oldg password password2)} foreach $o->{superuser}, @{$o->{users} || []}; require Data::Dumper; my $str = join('', "#!/usr/bin/perl -cw # # You should check the syntax of this file before using it in an auto-install. # You can do this with 'perl -cw auto_inst.cfg.pl' or by executing this file # (note the '#!/usr/bin/perl -cw' on the first line). ", Data::Dumper->Dump([$o], ['$o']), if_($replay, qq(\npackage install_steps_auto_install;), q( $graphical = 1; push @graphical_steps, 'doPartitionDisks', 'formatPartitions'; )), "\0"); $str =~ s/ {8}/\t/g; #- replace all 8 space char by only one tabulation, this reduces file size so much :-) $str; } sub getAndSaveInstallFloppy { my ($o, $where) = @_; if ($postinstall_rpms && -d $postinstall_rpms && -r "$postinstall_rpms/auto_install.img") { log::l("getAndSaveInstallFloppy: using file saved as $postinstall_rpms/auto_install.img"); cp_af("$postinstall_rpms/auto_install.img", $where); } else { my $image = cat_("/proc/cmdline") =~ /pcmcia/ ? "pcmcia" : ${{ disk => 'hd', cdrom => 'cdrom', ftp => 'network', nfs => 'network', http => 'network' }}{$o->{method}}; $image .= arch() =~ /sparc64/ && "64"; #- for sparc64 there are a specific set of image. getAndSaveFile("images/$image.img", $where) or log::l("failed to write Install Floppy ($image.img) to $where"), return; } 1; } sub getAndSaveAutoInstallFloppy { my ($o, $replay, $where) = @_; eval { modules::load('loop') }; if (arch() =~ /sparc/) { my $imagefile = "$o->{prefix}/tmp/autoinst.img"; my $mountdir = "$o->{prefix}/tmp/mount"; -d $mountdir or mkdir $mountdir, 0755; my $workdir = "$o->{prefix}/tmp/work"; -d $workdir or rmdir $workdir; getAndSaveInstallFloppy($o, $imagefile) or return; devices::make($_) foreach qw(/dev/loop6 /dev/ram); run_program::run("losetup", "/dev/loop6", $imagefile); fs::mount("/dev/loop6", $mountdir, "romfs", 'readonly'); cp_af($mountdir, $workdir); fs::umount($mountdir); run_program::run("losetup", "-d", "/dev/loop6"); substInFile { s/timeout.*//; s/^(\s*append\s*=\s*\".*)\"/$1 kickstart=floppy\"/ } "$workdir/silo.conf"; #" for po #-TODO output "$workdir/ks.cfg", generate_ks_cfg($o); output "$workdir/boot.msg", "\n7m", "!! If you press enter, an auto-install is going to start. ALL data on this computer is going to be lost, including any Windows partitions !! ", "7m\n"; local $o->{partitioning}{clearall} = 1; output("$workdir/auto_inst.cfg", g_auto_install()); run_program::run("genromfs", "-d", $workdir, "-f", "/dev/ram", "-A", "2048,/..", "-a", "512", "-V", "DrakX autoinst"); fs::mount("/dev/ram", $mountdir, 'romfs', 0); run_program::run("silo", "-r", $mountdir, "-F", "-i", "/fd.b", "-b", "/second.b", "-C", "/silo.conf"); fs::umount($mountdir); require commands; commands::dd("if=/dev/ram", "of=$where", "bs=1440", "count=1024"); rm_rf($workdir, $mountdir, $imagefile); } elsif (arch() =~ /ia64/) { #- nothing yet } else { my $imagefile = "$o->{prefix}/tmp/autoinst.img"; my $mountdir = "$o->{prefix}/tmp/aif-mount"; -d $mountdir or mkdir $mountdir, 0755; my $param = 'kickstart=floppy ' . generate_automatic_stage1_params($o); getAndSaveInstallFloppy($o, $imagefile) or return; my $dev = devices::set_loop($imagefile) or log::l("couldn't set loopback device"), return; fs::mount($dev, $mountdir, 'vfat', 0); substInFile { s/timeout.*/$replay ? 'timeout 1' : ''/e; s/^(\s*append)/$1 $param/ } "$mountdir/syslinux.cfg"; unlink "$mountdir/help.msg"; output "$mountdir/boot.msg", "\n0c", "!! If you press enter, an auto-install is going to start. All data on this computer is going to be lost, including any Windows partitions !! ", "07\n" if !$replay; local $o->{partitioning}{clearall} = !$replay; eval { output("$mountdir/auto_inst.cfg", g_auto_install($replay)); }; $@ and log::l("Warning: <$@>"); fs::umount($mountdir); rmdir $mountdir; devices::del_loop($dev); require commands; commands::dd("if=$imagefile", "of=$where", "bs=1440", "count=1024"); unlink $imagefile; } 1; } sub g_default_packages { my ($o, $quiet) = @_; my $floppy = detect_devices::floppy(); while (1) { $o->ask_okcancel('', _("Insert a FAT formatted floppy in drive %s", $floppy), 1) or return; eval { fs::mount(devices::make($floppy), "/floppy", "vfat", 0) }; last if !$@; $o->ask_warn('', _("This floppy is not FAT formatted")); } require Data::Dumper; my $str = Data::Dumper->Dump([ { default_packages => pkgs::selected_leaves($o->{packages}) } ], ['$o']); $str =~ s/ {8}/\t/g; output('/floppy/auto_inst.cfg', "# You should always check the syntax with 'perl -cw auto_inst.cfg.pl'\n", "# before testing. To use it, boot with ``linux defcfg=floppy''\n", $str, "\0"); fs::umount("/floppy"); $quiet or $o->ask_warn('', _("To use this saved packages selection, boot installation with ``linux defcfg=floppy''")); } sub loadO { my ($O, $f) = @_; $f ||= auto_inst_file; my $o; if ($f =~ /^(floppy|patch)$/) { my $f = $f eq "floppy" ? 'auto_inst.cfg' : "patch"; unless ($::testing) { fs::mount(devices::make(detect_devices::floppy()), "/mnt", (arch() =~ /sparc/ ? "romfs" : "vfat"), 'readonly'); $f = "/mnt/$f"; } -e $f or $f .= '.pl'; my $b = before_leaving { fs::umount("/mnt") unless $::testing; modules::unload($_) foreach qw(vfat fat); }; $o = loadO($O, $f); } else { -e "$f.pl" and $f .= ".pl" unless -e $f; my $fh = -e $f ? do { local *F; open F, $f; *F } : getFile($f) or die _("Error reading file %s", $f); { local $/ = "\0"; no strict; eval <$fh>; close $fh; $@ and die; } add2hash_($o ||= {}, $O); } bless $o, ref $O; } sub generate_automatic_stage1_params { my ($o) = @_; my @ks = "method:$o->{method}"; if ($o->{method} =~ /http/) { "$ENV{URLPREFIX}" =~ m|http://(.*)/(.*)| or die; push @ks, "server:$1", "directory:$2"; } elsif ($o->{method} =~ /ftp/) { push @ks, "server:$ENV{HOST}", "directory:$ENV{PREFIX}", "user:$ENV{LOGIN}", "pass:$ENV{PASSWORD}"; } elsif ($o->{method} =~ /nfs/) { cat_("/proc/mounts") =~ m|(\S+):(\S+)\s+/tmp/image nfs| or die; push @ks, "server:$1", "directory:$2"; } my ($intf) = values %{$o->{intf}}; if ($intf->{BOOTPROTO} =~ /dhcp/) { push @ks, "network:dhcp"; } else { require network; push @ks, "network:static", "ip:$intf->{IPADDR}", "netmask:$intf->{NETMASK}", "gateway:$o->{netc}{GATEWAY}"; my @dnss = network::dnsServers($o->{netc}); push @ks, "dns:$dnss[0]" if @dnss; } "automatic=".join(',', @ks); } sub guess_mount_point { my ($part, $prefix, $user) = @_; my %l = ( '/' => 'etc/fstab', '/boot' => 'vmlinuz', '/tmp' => '.X11-unix', '/usr' => 'X11R6', '/var' => 'catman', ); my $handle = any::inspect($part, $prefix) or return; my $d = $handle->{dir}; my ($mnt) = grep { -e "$d/$l{$_}" } keys %l; $mnt ||= (stat("$d/.bashrc"))[4] ? '/root' : '/home/user' . ++$$user if -e "$d/.bashrc"; $mnt ||= (grep { -d $_ && (stat($_))[4] >= 500 && -e "$_/.bashrc" } glob_("$d")) ? '/home' : ''; ($mnt, $handle); } sub suggest_mount_points { my ($fstab, $prefix, $uniq) = @_; my $user; foreach my $part (grep { isTrueFS($_) } @$fstab) { $part->{mntpoint} && !$part->{unsafeMntpoint} and next; #- if already found via an fstab my ($mnt, $handle) = guess_mount_point($part, $prefix, \$user) or next; next if $uniq && fsedit::mntpoint2part($mnt, $fstab); $part->{mntpoint} = $mnt; delete $part->{unsafeMntpoint}; #- try to find other mount points via fstab fs::merge_info_from_fstab($fstab, $handle->{dir}, $uniq) if $mnt eq '/'; } $_->{mntpoint} and log::l("suggest_mount_points: $_->{device} -> $_->{mntpoint}") foreach @$fstab; } #- mainly for finding the root partitions for upgrade sub find_root_parts { my ($fstab, $prefix) = @_; log::l("find_root_parts"); my $user; grep { my ($mnt) = guess_mount_point($_, $prefix, \$user); $mnt eq '/'; } @$fstab; } sub use_root_part { my ($fstab, $part, $prefix) = @_; { my $handle = any::inspect($part, $prefix) or die; fs::merge_info_from_fstab($fstab, $handle->{dir}, 'uniq'); } map { $_->{mntpoint} = 'swap' } grep { isSwap($_) } @$fstab; #- use all available swap. } sub getHds { my ($o, $f_err) = @_; my $ok = 1; my $try_scsi = !$::expert; my $flags = $o->{partitioning}; my @drives = detect_devices::hds(); # add2hash_($o->{partitioning}, { readonly => 1 }) if partition_table_raw::typeOfMBR($drives[0]{device}) eq 'system_commander'; getHds: my $all_hds = catch_cdie { fsedit::hds(\@drives, $flags) } sub { $ok = 0; my $err = formatError($@); log::l("error reading partition table: $err"); !$flags->{readonly} && $f_err and $f_err->($err); }; my $hds = $all_hds->{hds}; if (is_empty_array_ref($hds) && $try_scsi) { $try_scsi = 0; $o->setupSCSI; #- ask for an unautodetected scsi card goto getHds; } if (!$::testing) { @$hds = grep { eval { partition_table_raw::test_for_bad_drives($_) }; !$@ } @$hds; } $ok = fsedit::verifyHds($hds, $flags->{readonly}, $ok) if !($flags->{clearall} || $flags->{clear}); #- try to figure out if the same number of hds is available, use them if ok. $ok && $hds && @$hds > 0 && @{$o->{all_hds}{hds} || []} == @$hds and return $ok; fs::get_raw_hds('', $all_hds); fs::add2all_hds($all_hds, @{$o->{manualFstab}}); $o->{all_hds} = $all_hds; $o->{fstab} = [ fsedit::get_all_fstab($all_hds) ]; fs::merge_info_from_mtab($o->{fstab}); my @win = grep { isFat($_) && isFat({ type => fsedit::typeOfPart($_->{device}) }) } @{$o->{fstab}}; log::l("win parts: ", join ",", map { $_->{device} } @win) if @win; if (@win == 1) { #- Suggest /boot/efi on ia64. $win[0]{mntpoint} = arch() =~ /ia64/ ? "/boot/efi" : "/mnt/windows"; } else { my %w; foreach (@win) { my $v = $w{$_->{device_windobe}}++; $_->{mntpoint} = $_->{unsafeMntpoint} = "/mnt/win_" . lc($_->{device_windobe}) . ($v ? $v+1 : ''); #- lc cuz of StartOffice(!) cf dadou } } my @sunos = grep { isSunOS($_) && type2name($_->{type}) =~ /root/i } @{$o->{fstab}}; #- take only into account root partitions. if (@sunos) { my $v = ''; map { $_->{mntpoint} = $_->{unsafeMntpoint} = "/mnt/sunos" . ($v && ++$v) } @sunos; } #- a good job is to mount SunOS root partition, and to use mount point described here in /etc/vfstab. $ok; } sub log_sizes { my ($o) = @_; my @df = MDK::Common::System::df($o->{prefix}); log::l(sprintf "Installed: %s(df), %s(rpm)", formatXiB($df[0] - $df[1], 1024), formatXiB(sum(`$ENV{LD_LOADER} rpm --root $o->{prefix}/ -qa --queryformat "%{size}\n"`))) if -x "$o->{prefix}/bin/rpm"; } sub copy_advertising { my ($o) = @_; return if $::rootwidth < 800; my $f; my $source_dir = "Mandrake/share/advertising"; foreach ("." . $o->{lang}, "." . substr($o->{lang},0,2), '') { $f = getFile("$source_dir$_/list") or next; $source_dir = "$source_dir$_"; } if (my @files = <$f>) { my $dir = "$o->{prefix}/tmp/drakx-images"; mkdir $dir; unlink glob_("$dir/*"); foreach (@files) { chomp; getAndSaveFile("$source_dir/$_", "$dir/$_"); s/\.png/\.pl/; getAndSaveFile("$source_dir/$_", "$dir/$_"); s/\.pl/_icon\.png/; getAndSaveFile("$source_dir/$_", "$dir/$_"); s/_icon\.png/\.png/; } @advertising_images = map { "$dir/$_" } @files; } } sub remove_advertising { my ($o) = @_; eval { rm_rf("$o->{prefix}/tmp/drakx-images") }; @advertising_images = (); } sub disable_user_view { my ($prefix) = @_; substInFile { s/^UserView=.*/UserView=true/ } "$prefix/usr/share/config/kdm/kdmrc"; substInFile { s/^Browser=.*/Browser=0/ } "$prefix/etc/X11/gdm/gdm.conf"; } sub write_fstab { my ($o) = @_; fs::write_fstab($o->{all_hds}, $o->{prefix}) if !$::live; } my @bigseldom_used_groups = ( [ qw(pvcreate pvdisplay vgchange vgcreate vgdisplay vgextend vgremove vgscan lvcreate lvdisplay lvremove /lib/liblvm.so) ], ); sub check_prog { my ($f) = @_; my @l = $f !~ m|^/| ? map { "$_/$f" } split(":", $ENV{PATH}) : $f; return if grep { -x $_ } @l; common::usingRamdisk() or log::l("ERROR: check_prog can't find the program $f and we're not using ramdisk"), return; my ($f_) = map { m|^/| ? $_ : "/usr/bin/$_" } $f; remove_bigseldom_used(); foreach (@bigseldom_used_groups) { my (@l) = map { m|^/| ? $_ : "/usr/bin/$_" } @$_; if (member($f_, @l)) { foreach (@l) { getAndSaveFile($_); chmod 0755, $_; } return; } } getAndSaveFile($f_); chmod 0755, $f_; } sub remove_unused { $::testing and return; if ($::o->isa('interactive_gtk')) { unlink glob_("/lib/lib$_*") foreach qw(slang newt); unlink "/usr/bin/perl-install/auto/Newt/Newt.so"; } else { unlink glob_("/usr/X11R6/bin/XF*"); } } sub remove_bigseldom_used { log::l("remove_bigseldom_used"); $::testing and return; remove_unused(); unlink glob_("/usr/share/gtk/themes/$_*") foreach qw(DarkMarble marble3d); unlink(m|^/| ? $_ : "/usr/bin/$_") foreach ((map { @$_ } @bigseldom_used_groups), qw(mkreiserfs resize_reiserfs), ); } ################################################################################ package pkgs_interactive; use run_program; use common; use pkgs; sub install_steps::do_pkgs { my ($o) = @_; bless { o => $o }, 'pkgs_interactive'; } sub install { my ($do, @l) = @_; $do->{o}->pkg_install(@l); } sub is_installed { my ($do, @l) = @_; foreach (@l) { my $p = pkgs::packageByName($do->{o}->{packages}, $_); $p && pkgs::packageFlagSelected($p) or return; } 1; } sub remove { my ($do, @l) = @_; @l = grep { my $p = pkgs::packageByName($do->{o}->{packages}, $_); pkgs::unselectPackage($do->{o}->{packages}, $p) if $p; $p; } @l; run_program::rooted($do->{o}->{prefix}, 'rpm', '-e', @l); } sub remove_nodeps { my ($do, @l) = @_; @l = grep { my $p = pkgs::packageByName($do->{o}->{packages}, $_); pkgs::packageSetFlagSelected($p, 0) if $p; $p; } @l; run_program::rooted($do->{o}->{prefix}, 'rpm', '-e', '--nodeps', @l); } ################################################################################ package install_any; 1;