deb-symbols.man 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. .\" dpkg manual page - deb-symbols(5)
  2. .\"
  3. .\" Copyright © 2007-2012 Raphaël Hertzog <hertzog@debian.org>
  4. .\" Copyright © 2011, 2013-2015 Guillem Jover <guillem@debian.org>
  5. .\"
  6. .\" This is free software; you can redistribute it and/or modify
  7. .\" it under the terms of the GNU General Public License as published by
  8. .\" the Free Software Foundation; either version 2 of the License, or
  9. .\" (at your option) any later version.
  10. .\"
  11. .\" This is distributed in the hope that it will be useful,
  12. .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. .\" GNU General Public License for more details.
  15. .\"
  16. .\" You should have received a copy of the GNU General Public License
  17. .\" along with this program. If not, see <https://www.gnu.org/licenses/>.
  18. .
  19. .TH deb\-symbols 5 "%RELEASE_DATE%" "%VERSION%" "dpkg suite"
  20. .nh
  21. .SH NAME
  22. deb\-symbols \- Debian's extended shared library information file
  23. .
  24. .SH SYNOPSIS
  25. symbols
  26. .
  27. .SH DESCRIPTION
  28. The symbol files are shipped in Debian binary packages, and its format
  29. is a subset of the template symbol files used by \fBdpkg\-gensymbols\fP(1)
  30. in Debian source packages.
  31. .P
  32. The format for an extended shared library dependency information entry
  33. in these files is:
  34. .PP
  35. .I library-soname main-dependency-template
  36. .br
  37. [| \fIalternative-dependency-template\fP]
  38. .br
  39. [...]
  40. .br
  41. [* \fIfield-name\fP: \fIfield-value\fP]
  42. .br
  43. [...]
  44. \fIsymbol\fP \fIminimal-version\fP [\fIid-of-dependency-template\fP]
  45. .P
  46. The \fIlibrary-soname\fR is exactly the value of the SONAME field
  47. as exported by \fBobjdump\fR(1). A \fIdependency-template\fR is a
  48. dependency where \fI#MINVER#\fR is dynamically replaced either by
  49. a version check like “(>= \fIminimal-version\fR)” or by nothing (if
  50. an unversioned dependency is deemed sufficient).
  51. .P
  52. Each exported \fIsymbol\fR (listed as \fIname\fR@\fIversion\fR, with
  53. \fIversion\fR being “Base” if the library is not versioned) is associated
  54. to a \fIminimal-version\fR of its dependency template (the main dependency
  55. template is always used and will end up being combined with the dependency
  56. template referenced by \fIid-of-dependency-template\fR if present). The
  57. first alternative dependency template is numbered 1, the second one 2,
  58. etc.
  59. .P
  60. Each entry for a library can also have some fields of meta-information.
  61. Those fields are stored on lines starting with an asterisk. Currently,
  62. the only valid fields are:
  63. .TP
  64. .B Build\-Depends\-Package
  65. It indicates the name of the “\-dev” package associated to the library
  66. and is used by \fBdpkg\-shlibdeps\fP to make sure that the dependency
  67. generated is at least as strict as the corresponding build dependency
  68. (since dpkg 1.14.13).
  69. .TP
  70. .B Ignore\-Blacklist\-Groups
  71. It indicates what blacklist groups should be ignored, as a whitespace
  72. separated list, so that the symbols contained in those groups get
  73. included in the output file (since dpkg 1.17.6).
  74. This should only be necessary for toolchain
  75. packages providing those blacklisted symbols. The available groups are
  76. system dependent, for ELF and GNU-based systems these are \fBaeabi\fP
  77. and \fBgomp\fP.
  78. .SH EXAMPLES
  79. .SS Simple symbols file
  80. .PP
  81. libftp.so.3 libftp3 #MINVER#
  82. DefaultNetbuf@Base 3.1-1-6
  83. FtpAccess@Base 3.1-1-6
  84. [...]
  85. .SS Advanced symbols file
  86. .PP
  87. libGL.so.1 libgl1
  88. .br
  89. | libgl1\-mesa\-glx #MINVER#
  90. .br
  91. * Build\-Depends\-Package: libgl1\-mesa\-dev
  92. publicGlSymbol@Base 6.3-1
  93. [...]
  94. implementationSpecificSymbol@Base 6.5.2-7 1
  95. [...]
  96. .SH SEE ALSO
  97. .BR https://wiki.debian.org/Projects/ImprovedDpkgShlibdeps
  98. .br
  99. .BR dpkg\-shlibdeps (1),
  100. .BR dpkg\-gensymbols (1).