Web lists-archives.com

Why is prename deprecated?




wooledg:~$ prename
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]

Hmm, OK, let's do what the warning says, and install the rename package:

wooledg:~$ sudo apt-get install rename
[sudo] password for wooledg: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
rename is already the newest version (0.20-4).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

Hey, what gives?  You told me to install 'rename' and it's already
installed!

Now, I don't care if it's part of the 'perl' package or part of the
'rename' package, as long as it's still installed by default (and this
seems good -- Priority: standard), and still named 'prename'.

What I DO NOT WANT is for the name 'prename' to go away.  Because then
all the programs that call prename will fail.

What I DO NOT WANT is for someone in Debian to tell me that I should be
calling 'rename' instead, because this is dangerous.  There is a different
program named 'rename' on Red Hat systems, and it has incompatible syntax
and behavior.  Calling 'prename' in a shell script is safe, because if
you run it on a Red Hat system, you get a nice friendly error message
telling you that prename isn't found, instead of some random behavior.

Calling 'rename' in a shell script is a recipe for disaster.  You can't
know what will happen.

I figured I'd better speak up now, before we have another mailx -> s-nail
disaster at buster's release.  Names of things are important.  You can't
just go changing them on a whim.