Drakxtools Future Directions
Drakxtools is a set of scripts and modules unique to Mandriva written in Perl with GTK UI (more precisely - using own wrappers upon perl-GTK). Drakxtools development was started a dozen of years ago; however, year by year it becomes harder and harder to maintain and enhance them due to not very flexible internal structure and tons of legacy code. We believe that most of drakxtools do not satisfy modern needs and should be replaced with more convenient contemporary analogues.
Some thoughts about drakxtools replacement:
- for many tools, there are analogues in KDE4 control center
- ... however, some tools are really unique to Mandriva, and currently we don't have any estimates on how long will it take to develop their analogues
- for some tools KDE analogues exists, but they are separate applications (not part of KDE control center)
- some tools are bounded to Mandriva infrastructure (Mandriva Club accounts, wiki logins, etc.), so they should be dropped in ROSA in either case; the question is do we want to develop their analogues
- one more thing unique to ROSA/Mandriva is ROSA Control Center (Drakconf) which is just a wrapper that invokes appropriate tools with appropriate parameters
Possible replacements for current Drakconf configurators are listed in the table below.
Note that if some tool is not installed in the system, then corresponding menu entry in Drakconf is not displayed. So if some package is not installed by default, then users don't have corresponding Drakconf entry in a freshly installed system. Probably replacement of such packages should be considered as a low priority task.
Drakconf
Below is the table with Drakconf sections, corresponding MDV-specific tools and suggested replacements.
Drakconf section | Cmdline tool | Package (SRPM) | Replace with | Comments |
---|---|---|---|---|
Software Management | ||||
Software Management | ||||
Install & Remove Software | rpmdrake | rpmdrake | ||
Update your system | MandrivaUpdate | rpmdrake | ||
Configure updates frequency | mdkapplet-config | mdkonline | ||
Configure media sources for install and update | edit-urpm-sources.pl | rpmdrake | ||
Access to extended maintenance | mdkapplet-add-media-helper | mdkonline | Dropped in ROSA 2012 LTS | This one is valuable for MDV only |
Others | ||||
Package Stats | drakstats | drakstats | the package is not installed by default | |
Hardware | ||||
Manage your hardware | ||||
Browse and configure hardware | harddrake2 | drakxtools | ? Kinfocenter | The tool provides user with a list of all hardware; for every device, it can run corresponding configurator (draksound for sound card, diskdrake for harddrives/cdrom, etc.) Kinfocenter can be used to display the hardware available, but not to configure it. |
Sound Configuration | draksound | drakxtools | KDE System Settings -> "Multimedia" -> "Phonon" Gnome Control Center -> Sound |
|
Configure graphics | ||||
Set up the graphical server | XFdrake | drakx-kbd-mouse-x11 | KDE System Settings -> "Display and Monitor" Gnome Control Center -> Monitors |
|
Configure mouse and keyboard | ||||
Set up the keyboard layout | keyboarddrake | drakx-kbd-mouse-x11 | KDE System Settings -> "Input Devices" Gnome Control Center -> Keyboard Dropped in ROSA 2012 LTS |
|
Set up the pointer device (mouse, touchpad) | mousedrake | drakx-kbd-mouse-x11 | KDE System Settings -> "Input Devices" Gnome Control Center -> Mouse Dropped in ROSA 2012 LTS |
|
Configure printing and scanning | ||||
Set up the printer(s), the print job queues, ... | system-config-printer | system-config-printer | system-config-printer-kde | system-config-printer is a standalone tool written in Python, but we can try to use its KDE wrapper |
Set up scanner | scannerdrake | drakxtools | ||
Configure a fax server | drakfax_server | drakfax | the package is not installed by default | |
Others | ||||
Set up a UPS for power monitoring | drakups | drakxtools | ||
Network & Internet | ||||
Manage your network devices | ||||
Network Center | draknetcenter | drakx-net | KDE System Settings -> "Network Settings" Gnome Control Center -> Network Dropped in ROSA 2012 LTS |
|
Set up a new network interface (LAN, ISDN, ADSL, ...) | drakconnect --wizard | drakx-net | KDE System Settings -> "Network Settings" Gnome Control Center -> Network Connections Dropped in ROSA 2012 LTS |
|
Remove a connection | drakconnect --del | drakx-net | KDE System Settings -> "Network Settings" Gnome Control Center -> Network Connections Dropped in ROSA 2012 LTS |
|
Personalize and Secure your network | ||||
Proxy | drakproxy | drakx-net | KDE System Settings -> "Network Settings" -> "Proxy" Gnome Control Center -> Network Proxy |
|
Share the Internet connection with other local machines | drakgw | drakx-net | KDE System Settings -> "Network Settings" | |
Manage different network profiles | draknetprofile | drakx-net | NetworkManager Dropped in ROSA 2012 LTS |
Profile support is not perfect, to be improved in future. In any case, some functionality of draknetprofile was broken even in ROSA 2011 |
Configure VPN connection to secure network access | drakvpn | drakx-net | KDE System Settings -> "Network Settings" Gnome Control Center -> Network Connections Dropped in ROSA 2012 LTS |
|
Others | ||||
Hosts definitions | drakhosts | drakx-net | ??? Drop In Gnome, this can be done in Gnome Control Center -> Network |
If user wants to modify /etc/hosts, then he is probably an advanced user who can do it with any text editor |
System | ||||
Manage system services | ||||
Authentication | drakauth | drakxtools | leave | Integration with Win domains - no replacement atm |
Menu Style | drakmenustyle | drakmenustyle | KDE System Settings -> "Application Appearance" | the package is not installed by default |
Manage system services by enabling or disabling them | drakxservices | drakxtools | system-config-services | |
Manage, add and remove fonts. Import Windows(TM) fonts | drakfont | drakxtools | KDE System Settings -> "Font Management" | |
Localization | ||||
Manage date and time | drakclock | drakxtools | KDE System Settings -> "Date and Time" Gnome Control Center -> Time and Date Dropped in ROSA 2012 LTS |
|
Manage localization for your system | localedrake | drakxtools | KDE System Settings -> "Locale" Gnome Control Center -> Keyboard -> Layout |
Standard KDE configurator should be patched to edit ~/.i18n in order to affect all applications |
Administration tools | ||||
View and search system logs | logdrake | drakxtools | ksystemlog | logdrake has two features not implemented in ksystemlog: mail alerts and logs of Mandriva-specific tools |
Open a console as administrator | drakconsole | drakconf | Applications -> "Root Terminal" In Gnome: Applications -> Tools -> Root Terminal Dropped in ROSA 2012 LTS |
|
Manage users on system | userdrake, adduserdrake | userdrake, drakxtools | kuser Gnome Control Center -> Users and Groups |
|
Import Windows(TM) documents and settings | transfugdrake | transfugdrake | ||
Backups | drakbackup | drakbackup | backuppc? | the package is not installed by default Probably desktop users will be satisfied with BackInTime or analogues, more powerful tools are in the scope of the Server distribution. so perhaps it is enough to have backuppc in contrib for those users who really want to have powerful backup program |
Snapshots | draksnapshot-config | draksnapshot | BackInTime; luckybackup; fwbackups | |
Virtualization | drakvirt | drakvirt | the package is not installed by default | |
Network Sharing | ||||
Configure Windows(R) shares | ||||
Access Windows (SMB) shared drives and directories | diskdrake --smb | drakxtools | Dolphin (Network -> Samba Shares) Nautilus -> Network |
|
Share drives and directories with Windows (SMB) systems | draksambashare | drakx-net | Dolphin (Right click on folder name -> Properties -> Share) Nautilus (Right click on folder name -> Share Folder) |
Should we configure the system to enable file sharing for users by default? (currently one should enable samba sharing for users in the KDE control center) |
Configure NFS shares | ||||
Access NFS shared drives and directories | diskdrake --nfs | drakxtools | ||
Share drives and directories using NFS | draknfs | drakx-net | In Gnome: Gnome Control Center -> NFS | |
Configure WebDAV shares | ||||
Access WebDAV shared drives and directories | diskdrake --dav | drakxtools | Dolphin (Network -> Add Network Folder) Dropped in ROSA 2012 LTS |
|
Local disks | ||||
Local disks | ||||
Manage disk partitions | diskdrake --hd | drakxtools | ? gparted KDE Partition Manager qtparted |
gparted supports LVM in 'read-only' mode. gparted launched in ROSA displays a strange (very small) unallocated space at the end of every disk. KDE Partition Manager looks nice, though it has received no activity since 2010. qtparted is currently developed by bero |
Configure CDROM mount options | diskdrake --removable | drakxtools | KDE System Settings -> "Removable Devices" | |
Share your hard disk partitions | diskdrake --fileshare | drakxtools | This item is obsolete. In ROSA, users can just share their folders using Dolphin (or Nautilus in Gnome). Dropped in ROSA 2012 LTS |
|
Security | ||||
Security | ||||
Configure system security, permissions and audit | msecgui | msec-gui | leave | standalone tool written in Python; the package is not installed by default |
Configure TOMOYO Linux policy | tomoyo-gui | tomoyo-gui | leave | standalone tool written in Python; the package is not installed by default |
Set up your personal firewall | drakfirewall | drakx-net | ||
Configure authentication for Mandriva tools | draksec | drakxtools | !!! Probably we will have to rework this one if we replace some MDV tools | |
Advanced setup for network interfaces and firewall | drakinvictus | drakx-net | ||
Parental Controls | drakguard | drakguard | ||
Boot | ||||
Configure boot steps | ||||
Set up boot system | drakboot --boot | drakxtools | GRUB2 Editor or maybe this one is more functional: Grub Customizer |
|
Set up display manager | drakedm | drakxtools | Dropped in ROSA 2012 LTS there is no need in this for many users; experienced ones can just change DM value in the /etc/sysconfig/desktop file |
Unused Sections
The following tools are mentioned in Control_Center.pm, but it seems that they are absent in modern repos and we should not bother about them:
- "Manage park" => park-rpmdrake
- "Programs scheduling" => drakcronat
- "Remote Control" => rfbdrake
Drakbug
drakxtools also provide the 'drakbug' tool which is invoked when some drak* program is crashed. Users do report bugs using this tool in MDV bugzilla, it would be nice for us to have a replacement.
Drakdvb
One more standalone tool provided by drakxtools is drakdvb which currently lacks icon in the Control Center.
Packages
Drakxtools is not the only package with MDV-specific configuration tools and accompanying scripts. The complete list of packages looks like the following:
SRPM | RPMs |
---|---|
drakbackup | drakbackup |
drakconf | drakconf drakconf-icons |
drakfax | drakfax |
drakguard | drakguard |
drakmenustyle | drakmenustyle |
draksnapshot | draksnapshot |
drakstats | drakstats |
drakvirt | drakvirt |
drakx-kbd-mouse-x11 | drakx-kbd-mouse-x11 |
drakx-net | drakx-net drakx-net-text drakx-net-applet libdrakx-net |
drakxtools | drakxtools drakxtools-backend drakxtools-curses drakxtools-http drakx-finish-install harddrake harddrake-ui |
mdkonline | mdkonline |
rpmdrake | rpmdrake |
transfugdrake | transfugdrake |
userdrake | userdrake |
There are also several standalone non-Perl packages (see the table above), they are not mention in this list.
Dependent Packages
The following packages depend on the ones listed above:
RPM | SRPM | Description | Comments |
---|---|---|---|
a320raid | a320raid | a320raid pcitable entries for Adaptec HostRAID support | Dependency on drakxtools seems to be superfluous and can be safely dropped. Last time the package was rebuilt for MDV 2007 |
adp94xx | adp94xx | adp94xx pcitable entries for Adaptec HostRAID support | Dependency on drakxtools seems to be superfluous and can be safely dropped. Last time the package was rebuilt for MDV 2007 |
adpahci | adpahci | adpahci pcitable entries for Adaptec HostRAID support | Dependency on drakxtools seems to be superfluous and can be safely dropped. Last time the package was rebuilt for MDV 2007 |
bcd | bcd | Tool to build Mandriva ISO | ??? Drop, ABF possibilities to build ISO images are enough for us? |
bootloader-utils | bootloader-utils | Utilities needed to install/remove a kernel. Also for updating bootloaders | Used by kernel, dracut, pm-tools. We'll have to rewrite this in any case when switching to Grub2 |
drak3d | drak3d | 3D desktop effects tools | ??? Drop and use KDE System Settings instead Required by harddrake |
drakbt | drakbt | The Mandriva Linux Bittorrent link and status checker | Drop. Current implementation is highly bounded to MDV infrastructure (Mandriva Club & co.). |
drakcluster | drakcluster | Graphic interface to admin and setup the server cluster | |
drakcowsay | drakcowsay | Graphical interface for cowsay | |
drakfirsttime | drakfirsttime | The Mandriva Linux First Time Wizard | ??? Should go away if we develop a new installer. It is hard to get rid of drakxtools in the current installer, we can't use KDE tools there |
draklive-install | draklive-install | Live installer | |
drakoo | drakoo | This wizard is run on first run of OpenOffice.org and enables to select the default file format (either native OpenOffice.org one or Microsoft(R) Office) |
Drop. The way suggested in the drakoo (set DOC_DEFAULTS* variables in ~/.oofficerc) doesn't seem to work with LibreOffice. It is easier for users to choose default format in the LibreOffice itself (Tools - Options - Load/Save - General - Default file format and ODF settings). |
drakpxelinux | drakpxelinux | Quick configuration of PXE menu parameters | |
draktermserv | draktermserv | Terminal server configurator | Last time the package was rebuilt for MDV 2009.0 Required by terminal-server2 ("Terminal Server - Unionfs version") which was also not rebuilt after 2009. |
drakwizard | drakwizard | drakwizard allows you to launch :
|
|
gdm | gdm | The GNOME Display Manager | Requires drakx-kbd-mouse-x11 to ensure XFdrake is always installed. Can we just drop this dependency if we drop XFdrake itself? |
gdm-220 | gdm-220 | The GNOME Display Manager | Why do we need both gdm-2.20 and gdm-2.32? According to Mattew, gdm-2.32 has some troubles with GNOME3, while gdm-220 works fine. |
grub2 | grub2 | GNU GRUB is a Multiboot boot loader | Grub2 itself doesn't require draktools, but its current postinstall and preuninstall scripts invoke /usr/sbin/bootloader-config from drakxtools-backend This dependency will be dropped once we use grub2 as the only supported bootloader. Fixed in grub2 in ROSA - dependency is no longer needed and has been dropped. |
hsfmodem | hsfmodem | Conexant HSF controllerless modem driver for Linux | Dependency on drakxtools seems to be superfluous and can be safely dropped. Last time the package was rebuilt for MDV 2010.1 |
hwdb-clients | hwdb-clients | Hardware database clients | Mandriva-specific package |
ipw3945d | ipw3945d | Regulatory daemon for the Intel PRO/Wireless 3945 (IPW3945ABG) Wifi adapter | Dependency on drakxtools seems to be superfluous and can be safely dropped. Last time the package was rebuilt for MDV 2009.0 |
ipw3945-ucode | ipw3945-ucode | Firmware for the Intel PRO/Wireless 3945 (IPW3945ABG) Wifi adapter | Dependency on drakxtools seems to be superfluous and can be safely dropped. Last time the package was rebuilt for MDV 2009.0 |
memtest86+ | memtest86+ | A stand alone memory test for i386 architecture systems | The package itself doesn't require draktools, but its current postinstall and preuninstall scripts invoke /usr/sbin/bootloader-config from drakxtools-backend |
mklivecd | mklivecd | Builds a LiveCD from an existing Mandriva Linux installation | |
mountloop | mountloop | Allow users to mount files (in particular, encrypted filesystems) via loopback | drakxtools are used by drakloop - a graphical frontend for mountloop |
nautilus-filesharing | nautilus-filesharing | Filesharing extension for Nautilus | Drop. This is a Mandriva-specific Nautilus wrapper which invokes "diskdrake --fileshare" and accompanying scripts from drakxtools. However, Nautilus is able to share folders using Samba by itself. |
old_rpmdrake | old_rpmdrake | Mandriva Linux graphical front end for sofware installation/removal | Drop. Was used to compare behavior of new rpmdrake with the old one. |
suspend | suspend | Userland tools for suspend-to-disk and suspend-to-RAM | The package itself doesn't require draktools, but its postinstall script invokes /usr/sbin/bootloader-config from drakxtools-backend |
task-ede | task-ede | Metapackage for EDE (Equinox desktop environment) | ??? Drop, doesn't seem to work in either case. |