On Fri 26 Jul 2019 at 02:57:40 (+0000), davidson wrote:
> On Thu, 25 Jul 2019, Richard Hector wrote:
> 
> > On 25/07/19 3:26 PM, Andrew Punnett wrote:
> > > Hi,
> > > 
> > > Debian currently uses the `column` command from FreeBSD. However,
> > > the `column` command included in the util-linux package from the
> > > Linux Kernel Organisation is much more useful.
> > > 
> > > There is a bug report about this at
> > > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908975, which
> > > ends with the Debian util-linux package maintainer stating:
> 
> [SNIPPED, in order to insert immediately-prior context from bugreport]
> 
> "If you want the bsdutils to provide (util-linux version of) the tools
> you need to convince the bsdmainutils maintainers that they should
> stop shipping theirs, since we can't have file collisions between
> different packages (ie. debian policy forbids two different packages
> to provide the same file)."
> 
> > > "Until you've convinced the bsdmainutils maintainers we should
> > > change to the util-linux versions, there's nothing that can be done
> > > on the util-linux/bsdutils side - thus the wontfix tag."
> > > 
> > > How can we persuade the Debian bsdmainutils package maintainers to
> > > allow the Linux version of column to be shipped?
> > 
> > Can't they all get along by using /etc/alternatives?
> 
> I don't think file collisions are the kind of thing the debian
> alternatives system is meant to solve.

That's news to me. I was under the impression that /etc/alternatives
is the mechanism by which "rename" can be used for two different
commands, prename and file-rename, which would otherwise collide
with the name /usr/bin/rename.

(I realise that, as of stretch, one of these versions of rename becomes
deprecated and will be withdrawn in future, but it's the example that
comes immediately to mind because they've been around for many years.)

$ rename
Usage:
    rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E perlexpr]*|perlexpr
    [ files ]

$ rename # having just removed package rename
Deprecated program in use: rename as shipped with the Debian perl
package will be removed after the release of stretch. Please install
the separate 'rename' package which will provide the same command.

Usage: rename [-v] [-n] [-f] perlexpr [filenames]
$ 

Cheers,
David.
#!/bin/sh -e

if [ "$1" = configure ]
then
    update-alternatives --install /usr/bin/rename rename /usr/bin/file-rename \
    70 --slave /usr/share/man/man1/rename.1.gz rename.1.gz \
    /usr/share/man/man1/file-rename.1p.gz
fi


#!/bin/sh -e

if [ "$1" = configure ]
then
    # The 5.6.0 packages had /usr/share/doc/perl as a symlink to
    # perl-base, now the reverse.
    docs=/usr/share/doc
    if [ -L $docs/perl ] && [ ! -L $docs/perl-base ] && [ -d $docs/perl-base ]
    then
    rm -f $docs/perl
    mv $docs/perl-base $docs/perl
    ln -s perl $docs/perl-base
    fi

    # util-linux has an alternate rename
    update-alternatives --install /usr/bin/rename rename /usr/bin/prename 60 \
    --slave /usr/share/man/man1/rename.1.gz rename.1.gz \
        /usr/share/man/man1/prename.1.gz

    if which dpkg-trigger >/dev/null 2>&1 && \
       [ -n "$2" ] && \
       dpkg --compare-versions "$2" lt 5.24.0
    then
        dpkg-trigger --no-await perl-major-upgrade
    fi
fi

exit 0

Reply via email to