deb-symbols.5 3.2 KB

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