[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Re-debconfage



David Nusinow wrote:
> 3) Does not warn the user to install autodetection tools if they aren't
>    present

Let me share some code with you.

        # X needs three packages installed before its debconf config is run
        # to make it do hardware autodetection. The only way to make sure these
        # are installed properly is to install them now, before packages are
        # selected. This way, even if the user picks xserver-xfree86 in
        # aptitude and installs using aptitude, they will be available.
        for pkg in discover mdetect read-edid ; do
                if ! dpkg --get-selections | grep "$pkg" | grep -q install; then
                        extra="$pkg $extra"
                fi
        done
        if [ "$extra" ] ; then
                apt-get -y -f install $extra >/dev/null 2>&1 || true
                # They are removed later on if it looks like X was not selected.
                echo $extra > $TMPDIR/tmp-Xhack
        fi

...

        # If X was not installed, remove the three hardware detection
        # programs. Of course, this fails if the user manually picked
        # to install these, or wants them installed for some other reason.
        # But I cannot help that.
        if ! dpkg --get-selections | grep xserver-xfree86 | grep -q install; then
                if [ -f $TMPDIR/tmp-Xhack ] ; then
                        extra=`cat $TMPDIR/tmp-Xhack`
                        dpkg --purge $extra >/dev/null 2>&1 || true
                        rm $TMPDIR/tmp-Xhack
                fi
        fi


This is the ugliest specal case in base-config for any package, and I would
love to remove it. if you are redesigning the X config tool, please consider 
putting it in a package that depends on read-edid and mdetect, and deferring
the configuration to the postinst. Preconfiguration is not worth the pain.

I would also hope to see an X config that did more autoconfiguration, 
perhaps by using X --config, if that actually mostly works in newer versions
of X.

-- 
see shy jo

Attachment: signature.asc
Description: Digital signature


Reply to: