What are the *_stub packages for?

Some packages are named foo_stub. Are these packages different from other ones in any way?

asked: 2012-02-18 by: automaciej

automaciej answers:

They aren't different in any technical way. The *_stub naming is just a convention to indicate that it's a transitional, empty package.

The *_stub packages are side effects of things like package renaming and package splitting. For example, CSWzlib has been split to CSWlibz1 (catalogname: libz1, the package contains the libz.so.1 shared library) and CSWlibz-dev (libz_dev). However, some packages still declare a dependency on CSWzlib, so the stub package CSWzlib still exists, but its catalog name is now zlib_stub.