linuxconf 1.23 changes log

linuxconf 1.23 changes log

previous versions: 1.22
Change log index

Enhancements

Configuration file archive: enhanced command line

There were several linuxconf command line options to deal with the archive. All those command options were expecting one or more sub-system name. It was not possible to deal with one file. Further to retrieve one file in the archive, one had to locate its sub-system name (using linuxconf --listconfig) and then dig in /etc/linuxconf/archive.

Now we can use file names or sub-system names. File names are always specified using an absolute path (starting with a /). This is how linuxconf tells apart request for a sub-system or a file.

The affected linuxconf command line options are:

Documentation: new man pages

We finally wrote some man pages for Linuxconf and few Linuxconf modules and components. Here is the list:

Give it a look. You may learn a few things...

GUI protocol modification

We are working to enhance the GUI front-ends (wxxt-linuxconf and gnome-linuxconf). While doing so, we are cleaning the GUI protocol. We have changed the protocol in an incompatible way. So you must also upgrade linuxconf-gui. A new version of gnome-linuxconf will be packages soon.

One modification to the protocol is solving the off-screen appearance of Linuxconf in treemenu mode. It now pops up full size instead of appearing in several steps.

libmodule guruengine: new

The framework code driving the gurus has been moved from the gurus module into its own libmodule: guruengine. This allows module to provide various gurus, while sharing the same look & feel (and most of the code handling that).

To learn more about the guruengine, check out http://www.solucorp.qc.ca/linuxconf/tech/api/guruengine . This document provide many examples.

libmodules: New functionality for modules

We needed a way to share some code between modules. Currently the only way was to put this code in the core. This was not so good especially if only few modules needed to share the code.

The libmodule concept solves this. A libmodule is just a bunch of subroutine and classes bundle together as a shared object. They are located in the libmodules sub-directory of linuxconf source distribution. Once a libmodule is create, it can be used fairly easily by any other module. It simply has to

For now, the only libmodule available is the guruengine module. More on this in the change log.

linuxconf --help

"linuxconf --help" always shows up in text mode. There was little point in using the GUI for this. Further, those having problems with the GUI (for various reasons) were not able to see the help (well, there is a man page now).

Module amandaconf: Some updates

This includes bug fixes and user interfaces enhancements.

Module dhcpd: dhcp to dns

The module has been extended to support extra lease files. It is now possible to use the command line to merge lease files coming from other dhcp server. The new command line goes like this:

dhcp2dns.sh --domain another.domain.com --leasefile a_file

Module ircdconf: ui enhancements

Various little enhancements, especially to lists presentation.

Module mgettyconf: merged in the core

This module used to be distributed as an independent package. It is now in the core package. Those using it will have to un-install the rpm before updating Linuxconf. The module was not changed beside the packaging issue.

Module mouseconf: new

This is a new module used to configure the mouse on a workstation. The module interact with gpm, X and kudzu. This is still a prototype and some fixes are needed for distribution not supporting those components. Further, the module deals only with XFree 4 configuration files.

The module was written by Daniel Mealha Cabrita dancab@conectiva.com from Conectiva Linux.

Module pamconf: new

This module configures various parameters of the PAM system (plug-gable authentication modules). You will find this module under the "user accounts/policies/PAM configurator" menu.

The module can configure the various files in /etc/pam.d. Further is also configures the parameter files for the following PAM modules:

The module was written by Daniel Mealha Cabrita dancab@conectiva.com.br from Conectiva Linux.

Module postfixconf: new

This is an alternative to the mailconf module. It configures the postfix mail server. Check it out. All the help screens are written.

The module was written by Cristiano Otto Von Trompczynski cris@conectiva.com.br from Conectiva Linux.

Module printer

The module does few more things for LPRng (use lpd_bounce on remote queue for one). Also it better supports printer definition with name aliases.

Module redhatppp: fire-walling support

The module now participate in the fwinfo inter-module api. It is possible to write fire-wall rules using logical host and device using the redhatppp/config syntax. Using that, creating firewall with dynamic IP configuration is possible.

Module updatemon: new

This module will probably please many people, especially those not trusting administration tools. This module is enabled by default, but more visible in treemenu mode.

It consists of two components for now:

The update files window

With updatemon, every time Linuxconf updates one configuration file one line is added to the "update files" window, at the bottom of the treemenu framework. The line shows the time and the path of the file. This way, you know which files are modified by Linuxconf.

But it does not stop there :-)

You can click on files in the "update files" window and you get a popup menu. It contains the following options:

The interactive updates window

While experimenting with a new module or a tricky configuration you may want to control step by step the configuration file updates. When you turn on the "interactive updates", a large popup shows. It has the following fields:

At the bottom, you have two buttons: Accept changes and reject changes. The first tells Linuxconf to continue the update. The original file (which has already been archived) is renamed with a .OLD extension and the temporary file is moved in place.

Selecting "reject changes" aborts the update operation. The temporary file is left in place if you want to review it later.

Module wineconf: ui updates

Some little enhancements were made to list handling.

New section in the Main menu: peripherals

This section will receive the various module configuring hardware. So far, the modemconf module has been moved there. More module should show up pretty soon.

The id of this menu is MENU_HARDWARE. The setupmod.sh and shellmod utilities have been modified accordingly.

treemenu mode: help screens

The help pull down menu is now co-manage by modules. They can register their own help pages (and sub-menu) in it. So far, the syslogconf (system logs), status (the status window on the right) and the updatemon provides helps for their own contributions in the menu-bar.

virtual registry: more player

The NFS configuration may be controlled from the virtual registry. The same applies to the DHCP server.

Changes

Module binary compatibility

Some changes were made in the various APIs and it was not possible to keep binary compatibility. Independent modules will have to be recompiled. Source compatibility has been preserved. So only a recompilation is needed. RPM users won't be able to upgrade to this version unless you upgrade the externals module as well.

There is a problem with source rpms though. Just recompiling the source rpm is not enough. Inside the rpm SPEC file, the dependency for LINUXCONFAPIREVXX is hard coded. So while recompiling the source rpm with a inuxconf-devel 1.23 will produce a compatible module, rpm will continue to claim that it is incompatible.

This was caused by a bug in the way the SPEC file was created. The solution is simply to pick the source (module-x.n.src.tar.gz, untar it, cd in the source directory and do

	make buildrpm

This will create an RPM file and the new source RPM will only have to be recompile to match binary compatibility with any linuxconf version. It can even be recompiled against an older linuxconf-devel if needed.

Bug fixes

/etc/fstab: keyword auto

The keyword auto was not supported (since it is the default). The keyword noauto was supported though.

Module dnsconf: few fixes

The # character was not parsed properly in named.conf. When creating a new zone, the dot was not added in some fields.

Module fetchmailconf

The /root/.fetchmailrc was not updated properly.

Tree menu and shellmod modules

Before Linuxconf 1.23, the tree menu was not rebuilt properly when a new shellmod module was installed or updated.