In my example I said samba_util.h from samba-dev was listed for jessie
(even though it was blocked from install) and is no longer available in
testing or later...
$ apt-cache policy samba-dev
samba-dev:
Installed: 2:4.4.5+dfsg-3
Candidate: 2:4.4.5+dfsg-3
Version table:
*** 2:4.4.5+dfsg-3 1001
1001 https://mirrors.ludost.net/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
2:4.2.10+dfsg-0+deb8u3 -1
-1 https://mirrors.ludost.net/debian jessie/main amd64 Packages
Jessie used v4.2.10 of samba, and
Stretch is on v4.4.5 ....
In Samba 4.4, samba_util.h as well as several other public headers were
removed.
You can see this information on the samba wiki:
https://wiki.samba.org/index.php/Samba_4.4_Features_added/changed
I believe that apt-file is not very useful if it cannot tell you what
release the file is for.
I'll give more detail on the senario:
1) Search for samba_util.h using apt-file
$ apt-file search samba_util.h
samba-dev: /usr/include/samba-4.0/samba_util.h
2) install the pacakge that was reported
$ sudo apt-get install samba-dev
3) Locate the header file
$ ls /usr/include/samba-4.0/samba_util.h
ls: cannot access '/usr/include/samba-4.0/samba_util.h': No such
file or directory
-- um, what happened ?