The URL points to the Red Hat bugzilla entry that got me started looking into
The manual says
"smbspool tries to get the URI from argv. If argv contains the name
of the program then it looks in the DEVICE_URI environment variable."
But source/client/smbspool.c does:
if (getenv("DEVICE_URI") != NULL)
strncpy(uri, getenv("DEVICE_URI"), sizeof(uri) - 1);
else if (strncmp(argv, "smb://", 6) == 0)
strncpy(uri, argv, sizeof(uri) - 1);
So the manual should say
"smbspool expects the URI of the printer to use to be passed in the DEVICE_URI
environment variable. If DEVICE_URI is not set in the enviroment, smbspool
will look in argv (normally the name of the program being run)."
It should also mention "if argv does not start with "smb://", but argv
does, smbspool assumes it is being called from a broken shell script and
shifts argv, forgetting argv, and moving all other arguments down one in
Of course all of this should be rewritten by someone who can actually write.
Fixed in SVN. Thanks for reporting!
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.