/usr/share/doc/ubuntu-policy/policy.html/ap-pkg-binarypkg.html is in ubuntu-policy 3.8.2.0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>Ubuntu Policy Manual - Binary packages (from old Packaging Manual)</title>
<link href="index.html" rel="start">
<link href="ap-pkg-scope.html" rel="prev">
<link href="ap-pkg-sourcepkg.html" rel="next">
<link href="index.html#contents" rel="contents">
<link href="index.html#copyright" rel="copyright">
<link href="ch-scope.html" rel="chapter" title="1 About this manual">
<link href="ch-archive.html" rel="chapter" title="2 The Ubuntu Archive">
<link href="ch-binary.html" rel="chapter" title="3 Binary packages">
<link href="ch-source.html" rel="chapter" title="4 Source packages">
<link href="ch-controlfields.html" rel="chapter" title="5 Control files and their fields">
<link href="ch-maintainerscripts.html" rel="chapter" title="6 Package maintainer scripts and installation procedure">
<link href="ch-relationships.html" rel="chapter" title="7 Declaring relationships between packages">
<link href="ch-sharedlibs.html" rel="chapter" title="8 Shared libraries">
<link href="ch-opersys.html" rel="chapter" title="9 The Operating System">
<link href="ch-files.html" rel="chapter" title="10 Files">
<link href="ch-customized-programs.html" rel="chapter" title="11 Customized programs">
<link href="ch-docs.html" rel="chapter" title="12 Documentation">
<link href="ap-pkg-scope.html" rel="appendix" title="A Introduction and scope of these appendices">
<link href="ap-pkg-binarypkg.html" rel="appendix" title="B Binary packages (from old Packaging Manual)">
<link href="ap-pkg-sourcepkg.html" rel="appendix" title="C Source packages (from old Packaging Manual)">
<link href="ap-pkg-controlfields.html" rel="appendix" title="D Control files and their fields (from old Packaging Manual)">
<link href="ap-pkg-conffiles.html" rel="appendix" title="E Configuration file handling (from old Packaging Manual)">
<link href="ap-pkg-alternatives.html" rel="appendix" title="F Alternative versions of an interface - <code>update-alternatives</code> (from old Packaging Manual)">
<link href="ap-pkg-diversions.html" rel="appendix" title="G Diversions - overriding a package's version of a file (from old Packaging Manual)">
<link href="ch-scope.html#s1.1" rel="section" title="1.1 Scope">
<link href="ch-scope.html#s1.2" rel="section" title="1.2 New versions of this document">
<link href="ch-scope.html#s-authors" rel="section" title="1.3 Authors and Maintainers">
<link href="ch-scope.html#s-related" rel="section" title="1.4 Related documents">
<link href="ch-scope.html#s-definitions" rel="section" title="1.5 Definitions">
<link href="ch-archive.html#s-ulp" rel="section" title="2.1 The Ubuntu Licensing Policy">
<link href="ch-archive.html#s-sections" rel="section" title="2.2 Archive areas">
<link href="ch-archive.html#s-pkgcopyright" rel="section" title="2.3 Copyright considerations">
<link href="ch-archive.html#s-subsections" rel="section" title="2.4 Sections">
<link href="ch-archive.html#s-priorities" rel="section" title="2.5 Priorities">
<link href="ch-binary.html#s3.1" rel="section" title="3.1 The package name">
<link href="ch-binary.html#s-versions" rel="section" title="3.2 The version of a package">
<link href="ch-binary.html#s3.3" rel="section" title="3.3 The maintainer of a package">
<link href="ch-binary.html#s-descriptions" rel="section" title="3.4 The description of a package">
<link href="ch-binary.html#s3.5" rel="section" title="3.5 Dependencies">
<link href="ch-binary.html#s-virtual_pkg" rel="section" title="3.6 Virtual packages">
<link href="ch-binary.html#s3.7" rel="section" title="3.7 Base system">
<link href="ch-binary.html#s3.8" rel="section" title="3.8 Essential packages">
<link href="ch-binary.html#s-maintscripts" rel="section" title="3.9 Maintainer Scripts">
<link href="ch-source.html#s-standardsversion" rel="section" title="4.1 Standards conformance">
<link href="ch-source.html#s-pkg-relations" rel="section" title="4.2 Package relationships">
<link href="ch-source.html#s4.3" rel="section" title="4.3 Changes to the upstream sources">
<link href="ch-source.html#s-dpkgchangelog" rel="section" title="4.4 Ubuntu changelog: <code>debian/changelog</code>">
<link href="ch-source.html#s-dpkgcopyright" rel="section" title="4.5 Copyright: <code>debian/copyright</code>">
<link href="ch-source.html#s4.6" rel="section" title="4.6 Error trapping in makefiles">
<link href="ch-source.html#s-timestamps" rel="section" title="4.7 Time Stamps">
<link href="ch-source.html#s-restrictions" rel="section" title="4.8 Restrictions on objects in source packages">
<link href="ch-source.html#s-debianrules" rel="section" title="4.9 Main building script: <code>debian/rules</code>">
<link href="ch-source.html#s-substvars" rel="section" title="4.10 Variable substitutions: <code>debian/substvars</code>">
<link href="ch-source.html#s-debianwatch" rel="section" title="4.11 Optional upstream source location: <code>debian/watch</code>">
<link href="ch-source.html#s-debianfiles" rel="section" title="4.12 Generated files list: <code>debian/files</code>">
<link href="ch-source.html#s-embeddedfiles" rel="section" title="4.13 Convenience copies of code">
<link href="ch-source.html#s-readmesource" rel="section" title="4.14 Source package handling: <code>debian/README.source</code>">
<link href="ch-controlfields.html#s-controlsyntax" rel="section" title="5.1 Syntax of control files">
<link href="ch-controlfields.html#s-sourcecontrolfiles" rel="section" title="5.2 Source package control files -- <code>debian/control</code>">
<link href="ch-controlfields.html#s-binarycontrolfiles" rel="section" title="5.3 Binary package control files -- <code>DEBIAN/control</code>">
<link href="ch-controlfields.html#s-debiansourcecontrolfiles" rel="section" title="5.4 Debian source control files -- <samp>.dsc</samp>">
<link href="ch-controlfields.html#s-debianchangesfiles" rel="section" title="5.5 Debian changes files -- <code>.changes</code>">
<link href="ch-controlfields.html#s-controlfieldslist" rel="section" title="5.6 List of fields">
<link href="ch-controlfields.html#s5.7" rel="section" title="5.7 User-defined fields">
<link href="ch-maintainerscripts.html#s6.1" rel="section" title="6.1 Introduction to package maintainer scripts">
<link href="ch-maintainerscripts.html#s-idempotency" rel="section" title="6.2 Maintainer scripts idempotency">
<link href="ch-maintainerscripts.html#s-controllingterminal" rel="section" title="6.3 Controlling terminal for maintainer scripts">
<link href="ch-maintainerscripts.html#s-exitstatus" rel="section" title="6.4 Exit status">
<link href="ch-maintainerscripts.html#s-mscriptsinstact" rel="section" title="6.5 Summary of ways maintainer scripts are called">
<link href="ch-maintainerscripts.html#s-unpackphase" rel="section" title="6.6 Details of unpack phase of installation or upgrade">
<link href="ch-maintainerscripts.html#s-configdetails" rel="section" title="6.7 Details of configuration">
<link href="ch-maintainerscripts.html#s-removedetails" rel="section" title="6.8 Details of removal and/or configuration purging">
<link href="ch-relationships.html#s-depsyntax" rel="section" title="7.1 Syntax of relationship fields">
<link href="ch-relationships.html#s-binarydeps" rel="section" title="7.2 Binary Dependencies - <samp>Depends</samp>, <samp>Recommends</samp>, <samp>Suggests</samp>, <samp>Enhances</samp>, <samp>Pre-Depends</samp>">
<link href="ch-relationships.html#s-breaks" rel="section" title="7.3 Packages which break other packages - <samp>Breaks</samp>">
<link href="ch-relationships.html#s-conflicts" rel="section" title="7.4 Conflicting binary packages - <samp>Conflicts</samp>">
<link href="ch-relationships.html#s-virtual" rel="section" title="7.5 Virtual packages - <samp>Provides</samp>">
<link href="ch-relationships.html#s-replaces" rel="section" title="7.6 Overwriting files and replacing packages - <samp>Replaces</samp>">
<link href="ch-relationships.html#s-sourcebinarydeps" rel="section" title="7.7 Relationships between source and binary packages - <samp>Build-Depends</samp>, <samp>Build-Depends-Indep</samp>, <samp>Build-Conflicts</samp>, <samp>Build-Conflicts-Indep</samp>">
<link href="ch-sharedlibs.html#s-sharedlibs-runtime" rel="section" title="8.1 Run-time shared libraries">
<link href="ch-sharedlibs.html#s-sharedlibs-support-files" rel="section" title="8.2 Shared library support files">
<link href="ch-sharedlibs.html#s-sharedlibs-static" rel="section" title="8.3 Static libraries">
<link href="ch-sharedlibs.html#s-sharedlibs-dev" rel="section" title="8.4 Development files">
<link href="ch-sharedlibs.html#s-sharedlibs-intradeps" rel="section" title="8.5 Dependencies between the packages of the same library">
<link href="ch-sharedlibs.html#s-sharedlibs-shlibdeps" rel="section" title="8.6 Dependencies between the library and other packages - the <samp>shlibs</samp> system">
<link href="ch-opersys.html#s9.1" rel="section" title="9.1 File system hierarchy">
<link href="ch-opersys.html#s9.2" rel="section" title="9.2 Users and groups">
<link href="ch-opersys.html#s-sysvinit" rel="section" title="9.3 System run levels and <code>init.d</code> scripts">
<link href="ch-opersys.html#s9.4" rel="section" title="9.4 Console messages from <code>init.d</code> scripts">
<link href="ch-opersys.html#s9.5" rel="section" title="9.5 Cron jobs">
<link href="ch-opersys.html#s-menus" rel="section" title="9.6 Menus">
<link href="ch-opersys.html#s-mime" rel="section" title="9.7 Multimedia handlers">
<link href="ch-opersys.html#s9.8" rel="section" title="9.8 Keyboard configuration">
<link href="ch-opersys.html#s9.9" rel="section" title="9.9 Environment variables">
<link href="ch-opersys.html#s-doc-base" rel="section" title="9.10 Registering Documents using doc-base">
<link href="ch-files.html#s10.1" rel="section" title="10.1 Binaries">
<link href="ch-files.html#s-libraries" rel="section" title="10.2 Libraries">
<link href="ch-files.html#s10.3" rel="section" title="10.3 Shared libraries">
<link href="ch-files.html#s-scripts" rel="section" title="10.4 Scripts">
<link href="ch-files.html#s10.5" rel="section" title="10.5 Symbolic links">
<link href="ch-files.html#s10.6" rel="section" title="10.6 Device files">
<link href="ch-files.html#s-config-files" rel="section" title="10.7 Configuration files">
<link href="ch-files.html#s10.8" rel="section" title="10.8 Log files">
<link href="ch-files.html#s10.9" rel="section" title="10.9 Permissions and owners">
<link href="ch-customized-programs.html#s-arch-spec" rel="section" title="11.1 Architecture specification strings">
<link href="ch-customized-programs.html#s11.2" rel="section" title="11.2 Daemons">
<link href="ch-customized-programs.html#s11.3" rel="section" title="11.3 Using pseudo-ttys and modifying wtmp, utmp and lastlog">
<link href="ch-customized-programs.html#s11.4" rel="section" title="11.4 Editors and pagers">
<link href="ch-customized-programs.html#s-web-appl" rel="section" title="11.5 Web servers and applications">
<link href="ch-customized-programs.html#s-mail-transport-agents" rel="section" title="11.6 Mail transport, delivery and user agents">
<link href="ch-customized-programs.html#s11.7" rel="section" title="11.7 News system configuration">
<link href="ch-customized-programs.html#s11.8" rel="section" title="11.8 Programs for the X Window System">
<link href="ch-customized-programs.html#s-perl" rel="section" title="11.9 Perl programs and modules">
<link href="ch-customized-programs.html#s-emacs" rel="section" title="11.10 Emacs lisp programs">
<link href="ch-customized-programs.html#s11.11" rel="section" title="11.11 Games">
<link href="ch-docs.html#s12.1" rel="section" title="12.1 Manual pages">
<link href="ch-docs.html#s12.2" rel="section" title="12.2 Info documents">
<link href="ch-docs.html#s12.3" rel="section" title="12.3 Additional documentation">
<link href="ch-docs.html#s12.4" rel="section" title="12.4 Preferred documentation formats">
<link href="ch-docs.html#s-copyrightfile" rel="section" title="12.5 Copyright information">
<link href="ch-docs.html#s12.6" rel="section" title="12.6 Examples">
<link href="ch-docs.html#s-changelogs" rel="section" title="12.7 Changelog files">
<link href="ap-pkg-binarypkg.html#s-pkg-bincreating" rel="section" title="B.1 Creating package files - <code>dpkg-deb</code>">
<link href="ap-pkg-binarypkg.html#s-pkg-controlarea" rel="section" title="B.2 Package control information files">
<link href="ap-pkg-binarypkg.html#s-pkg-controlfile" rel="section" title="B.3 The main control information file: <samp>control</samp>">
<link href="ap-pkg-binarypkg.html#sB.4" rel="section" title="B.4 Time Stamps">
<link href="ap-pkg-sourcepkg.html#s-pkg-sourcetools" rel="section" title="C.1 Tools for processing source packages">
<link href="ap-pkg-sourcepkg.html#s-pkg-sourcetree" rel="section" title="C.2 The Debianised source tree">
<link href="ap-pkg-sourcepkg.html#s-pkg-sourcearchives" rel="section" title="C.3 Source packages as archives">
<link href="ap-pkg-sourcepkg.html#sC.4" rel="section" title="C.4 Unpacking a Debian source package without <code>dpkg-source</code>">
<link href="ap-pkg-controlfields.html#sD.1" rel="section" title="D.1 Syntax of control files">
<link href="ap-pkg-controlfields.html#sD.2" rel="section" title="D.2 List of fields">
<link href="ap-pkg-conffiles.html#sE.1" rel="section" title="E.1 Automatic handling of configuration files by <code>dpkg</code>">
<link href="ap-pkg-conffiles.html#sE.2" rel="section" title="E.2 Fully-featured maintainer script configuration handling">
<link href="ch-archive.html#s-main" rel="subsection" title="2.2.1 The main archive area">
<link href="ch-archive.html#s-restricted" rel="subsection" title="2.2.2 The restricted archive area">
<link href="ch-archive.html#s-universe" rel="subsection" title="2.2.3 The universe archive area">
<link href="ch-archive.html#s-multiverse" rel="subsection" title="2.2.4 The multiverse archive area">
<link href="ch-binary.html#s3.2.1" rel="subsection" title="3.2.1 Version numbers based on dates">
<link href="ch-binary.html#s-synopsis" rel="subsection" title="3.4.1 The single line synopsis">
<link href="ch-binary.html#s-extendeddesc" rel="subsection" title="3.4.2 The extended description">
<link href="ch-binary.html#s-maintscriptprompt" rel="subsection" title="3.9.1 Prompting in maintainer scripts">
<link href="ch-source.html#s-debianrules-options" rel="subsection" title="4.9.1 <code>debian/rules</code> and <samp>DEB_BUILD_OPTIONS</samp>">
<link href="ch-controlfields.html#s-f-Source" rel="subsection" title="5.6.1 <samp>Source</samp>">
<link href="ch-controlfields.html#s-f-Maintainer" rel="subsection" title="5.6.2 <samp>Maintainer</samp>">
<link href="ch-controlfields.html#s-f-Uploaders" rel="subsection" title="5.6.3 <samp>Uploaders</samp>">
<link href="ch-controlfields.html#s-f-Changed-By" rel="subsection" title="5.6.4 <samp>Changed-By</samp>">
<link href="ch-controlfields.html#s-f-Section" rel="subsection" title="5.6.5 <samp>Section</samp>">
<link href="ch-controlfields.html#s-f-Priority" rel="subsection" title="5.6.6 <samp>Priority</samp>">
<link href="ch-controlfields.html#s-f-Package" rel="subsection" title="5.6.7 <samp>Package</samp>">
<link href="ch-controlfields.html#s-f-Architecture" rel="subsection" title="5.6.8 <samp>Architecture</samp>">
<link href="ch-controlfields.html#s-f-Essential" rel="subsection" title="5.6.9 <samp>Essential</samp>">
<link href="ch-controlfields.html#s5.6.10" rel="subsection" title="5.6.10 Package interrelationship fields: <samp>Depends</samp>, <samp>Pre-Depends</samp>, <samp>Recommends</samp>, <samp>Suggests</samp>, <samp>Breaks</samp>, <samp>Conflicts</samp>, <samp>Provides</samp>, <samp>Replaces</samp>, <samp>Enhances</samp>">
<link href="ch-controlfields.html#s-f-Standards-Version" rel="subsection" title="5.6.11 <samp>Standards-Version</samp>">
<link href="ch-controlfields.html#s-f-Version" rel="subsection" title="5.6.12 <samp>Version</samp>">
<link href="ch-controlfields.html#s-f-Description" rel="subsection" title="5.6.13 <samp>Description</samp>">
<link href="ch-controlfields.html#s-f-Distribution" rel="subsection" title="5.6.14 <samp>Distribution</samp>">
<link href="ch-controlfields.html#s-f-Date" rel="subsection" title="5.6.15 <samp>Date</samp>">
<link href="ch-controlfields.html#s-f-Format" rel="subsection" title="5.6.16 <samp>Format</samp>">
<link href="ch-controlfields.html#s-f-Urgency" rel="subsection" title="5.6.17 <samp>Urgency</samp>">
<link href="ch-controlfields.html#s-f-Changes" rel="subsection" title="5.6.18 <samp>Changes</samp>">
<link href="ch-controlfields.html#s-f-Binary" rel="subsection" title="5.6.19 <samp>Binary</samp>">
<link href="ch-controlfields.html#s-f-Installed-Size" rel="subsection" title="5.6.20 <samp>Installed-Size</samp>">
<link href="ch-controlfields.html#s-f-Files" rel="subsection" title="5.6.21 <samp>Files</samp>">
<link href="ch-controlfields.html#s-f-Closes" rel="subsection" title="5.6.22 <samp>Closes</samp>">
<link href="ch-controlfields.html#s-f-Launchpad-Bugs-Fixed" rel="subsection" title="5.6.23 <samp>Launchpad-Bugs-Fixed</samp>">
<link href="ch-controlfields.html#s-f-Homepage" rel="subsection" title="5.6.24 <samp>Homepage</samp>">
<link href="ch-relationships.html#s7.6.1" rel="subsection" title="7.6.1 Overwriting files in other packages">
<link href="ch-relationships.html#s7.6.2" rel="subsection" title="7.6.2 Replacing whole packages, forcing their removal">
<link href="ch-sharedlibs.html#s-ldconfig" rel="subsection" title="8.1.1 <samp>ldconfig</samp>">
<link href="ch-sharedlibs.html#s8.6.1" rel="subsection" title="8.6.1 The <samp>shlibs</samp> files present on the system">
<link href="ch-sharedlibs.html#s8.6.2" rel="subsection" title="8.6.2 How to use <code>dpkg-shlibdeps</code> and the <code>shlibs</code> files">
<link href="ch-sharedlibs.html#s-shlibs" rel="subsection" title="8.6.3 The <code>shlibs</code> File Format">
<link href="ch-sharedlibs.html#s8.6.4" rel="subsection" title="8.6.4 Providing a <code>shlibs</code> file">
<link href="ch-sharedlibs.html#s-shlibslocal" rel="subsection" title="8.6.5 Writing the <code>debian/shlibs.local</code> file">
<link href="ch-opersys.html#s-fhs" rel="subsection" title="9.1.1 File System Structure">
<link href="ch-opersys.html#s9.1.2" rel="subsection" title="9.1.2 Site-specific programs">
<link href="ch-opersys.html#s9.1.3" rel="subsection" title="9.1.3 The system-wide mail directory">
<link href="ch-opersys.html#s9.2.1" rel="subsection" title="9.2.1 Introduction">
<link href="ch-opersys.html#s9.2.2" rel="subsection" title="9.2.2 UID and GID classes">
<link href="ch-opersys.html#s-/etc/init.d" rel="subsection" title="9.3.1 Introduction">
<link href="ch-opersys.html#s9.3.2" rel="subsection" title="9.3.2 Writing the scripts">
<link href="ch-opersys.html#s9.3.3" rel="subsection" title="9.3.3 Interfacing with the initscript system">
<link href="ch-opersys.html#s9.3.3.1" rel="subsection" title="9.3.3.1 Managing the links">
<link href="ch-opersys.html#s9.3.3.2" rel="subsection" title="9.3.3.2 Running initscripts">
<link href="ch-opersys.html#s9.3.4" rel="subsection" title="9.3.4 Boot-time initialization">
<link href="ch-opersys.html#s9.3.5" rel="subsection" title="9.3.5 Example">
<link href="ch-files.html#s10.7.1" rel="subsection" title="10.7.1 Definitions">
<link href="ch-files.html#s10.7.2" rel="subsection" title="10.7.2 Location">
<link href="ch-files.html#s10.7.3" rel="subsection" title="10.7.3 Behavior">
<link href="ch-files.html#s10.7.4" rel="subsection" title="10.7.4 Sharing configuration files">
<link href="ch-files.html#s10.7.5" rel="subsection" title="10.7.5 User configuration files ("dotfiles")">
<link href="ch-files.html#s10.9.1" rel="subsection" title="10.9.1 The use of <code>dpkg-statoverride</code>">
<link href="ch-customized-programs.html#s11.8.1" rel="subsection" title="11.8.1 Providing X support and package priorities">
<link href="ch-customized-programs.html#s11.8.2" rel="subsection" title="11.8.2 Packages providing an X server">
<link href="ch-customized-programs.html#s11.8.3" rel="subsection" title="11.8.3 Packages providing a terminal emulator">
<link href="ch-customized-programs.html#s11.8.4" rel="subsection" title="11.8.4 Packages providing a window manager">
<link href="ch-customized-programs.html#s11.8.5" rel="subsection" title="11.8.5 Packages providing fonts">
<link href="ch-customized-programs.html#s11.8.6" rel="subsection" title="11.8.6 Application defaults files">
<link href="ch-customized-programs.html#s11.8.7" rel="subsection" title="11.8.7 Installation directory issues">
<link href="ch-customized-programs.html#s11.8.8" rel="subsection" title="11.8.8 The OSF/Motif and OpenMotif libraries">
<link href="ch-customized-programs.html#s11.8.9" rel="subsection" title="11.8.9 Icon caching">
<link href="ap-pkg-sourcepkg.html#s-pkg-dpkg-source" rel="subsection" title="C.1.1 <code>dpkg-source</code> - packs and unpacks Debian source packages">
<link href="ap-pkg-sourcepkg.html#s-pkg-dpkg-buildpackage" rel="subsection" title="C.1.2 <code>dpkg-buildpackage</code> - overall package-building control script">
<link href="ap-pkg-sourcepkg.html#s-pkg-dpkg-gencontrol" rel="subsection" title="C.1.3 <code>dpkg-gencontrol</code> - generates binary package control files">
<link href="ap-pkg-sourcepkg.html#s-pkg-dpkg-shlibdeps" rel="subsection" title="C.1.4 <code>dpkg-shlibdeps</code> - calculates shared library dependencies">
<link href="ap-pkg-sourcepkg.html#s-pkg-dpkg-distaddfile" rel="subsection" title="C.1.5 <code>dpkg-distaddfile</code> - adds a file to <code>debian/files</code>">
<link href="ap-pkg-sourcepkg.html#s-pkg-dpkg-genchanges" rel="subsection" title="C.1.6 <code>dpkg-genchanges</code> - generates a <code>.changes</code> upload control file">
<link href="ap-pkg-sourcepkg.html#s-pkg-dpkg-parsechangelog" rel="subsection" title="C.1.7 <code>dpkg-parsechangelog</code> - produces parsed representation of a changelog">
<link href="ap-pkg-sourcepkg.html#s-pkg-dpkg-architecture" rel="subsection" title="C.1.8 <code>dpkg-architecture</code> - information about the build and host system">
<link href="ap-pkg-sourcepkg.html#s-pkg-debianrules" rel="subsection" title="C.2.1 <code>debian/rules</code> - the main building script">
<link href="ap-pkg-sourcepkg.html#s-pkg-dpkgchangelog" rel="subsection" title="C.2.2 <code>debian/changelog</code>">
<link href="ap-pkg-sourcepkg.html#sC.2.2.1" rel="subsection" title="C.2.2.1 Defining alternative changelog formats">
<link href="ap-pkg-sourcepkg.html#s-pkg-srcsubstvars" rel="subsection" title="C.2.3 <code>debian/substvars</code> and variable substitutions">
<link href="ap-pkg-sourcepkg.html#sC.2.4" rel="subsection" title="C.2.4 <code>debian/files</code>">
<link href="ap-pkg-sourcepkg.html#sC.2.5" rel="subsection" title="C.2.5 <code>debian/tmp</code>">
<link href="ap-pkg-sourcepkg.html#sC.4.1" rel="subsection" title="C.4.1 Restrictions on objects in source packages">
<link href="ap-pkg-controlfields.html#s-pkg-f-Filename" rel="subsection" title="D.2.1 <samp>Filename</samp> and <samp>MSDOS-Filename</samp>">
<link href="ap-pkg-controlfields.html#s-pkg-f-Size" rel="subsection" title="D.2.2 <samp>Size</samp> and <samp>MD5sum</samp>">
<link href="ap-pkg-controlfields.html#s-pkg-f-Status" rel="subsection" title="D.2.3 <samp>Status</samp>">
<link href="ap-pkg-controlfields.html#s-pkg-f-Config-Version" rel="subsection" title="D.2.4 <samp>Config-Version</samp>">
<link href="ap-pkg-controlfields.html#s-pkg-f-Conffiles" rel="subsection" title="D.2.5 <samp>Conffiles</samp>">
<link href="ap-pkg-controlfields.html#sD.2.6" rel="subsection" title="D.2.6 Obsolete fields">
</head>
<body>
<p><a name="ap-pkg-binarypkg"></a></p>
<hr>
<p>
[ <a href="ap-pkg-scope.html">previous</a> ]
[ <a href="index.html#contents">Contents</a> ]
[ <a href="ch-scope.html">1</a> ]
[ <a href="ch-archive.html">2</a> ]
[ <a href="ch-binary.html">3</a> ]
[ <a href="ch-source.html">4</a> ]
[ <a href="ch-controlfields.html">5</a> ]
[ <a href="ch-maintainerscripts.html">6</a> ]
[ <a href="ch-relationships.html">7</a> ]
[ <a href="ch-sharedlibs.html">8</a> ]
[ <a href="ch-opersys.html">9</a> ]
[ <a href="ch-files.html">10</a> ]
[ <a href="ch-customized-programs.html">11</a> ]
[ <a href="ch-docs.html">12</a> ]
[ <a href="ap-pkg-scope.html">A</a> ]
[ B ]
[ <a href="ap-pkg-sourcepkg.html">C</a> ]
[ <a href="ap-pkg-controlfields.html">D</a> ]
[ <a href="ap-pkg-conffiles.html">E</a> ]
[ <a href="ap-pkg-alternatives.html">F</a> ]
[ <a href="ap-pkg-diversions.html">G</a> ]
[ <a href="ap-pkg-sourcepkg.html">next</a> ]
</p>
<hr>
<h1>
Ubuntu Policy Manual
<br>Appendix B - Binary packages (from old Packaging Manual)</h1>
<hr>
<p>
The binary package has two main sections. The first part consists of various
control information files and scripts used by <code>dpkg</code> when installing
and removing. See <a href="#s-pkg-controlarea">Package control information
files, Section B.2</a>.
</p>
<p>
The second part is an archive containing the files and directories to be
installed.
</p>
<p>
In the future binary packages may also contain other components, such as
checksums and digital signatures. The format for the archive is described in
full in the <code>deb(5)</code> man page.
</p>
<hr>
<h2><a name="s-pkg-bincreating"></a>B.1 Creating package files - <code>dpkg-deb</code></h2>
<p>
All manipulation of binary package files is done by <code>dpkg-deb</code>; it's
the only program that has knowledge of the format. (<code>dpkg-deb</code> may
be invoked by calling <code>dpkg</code>, as <code>dpkg</code> will spot that
the options requested are appropriate to <code>dpkg-deb</code> and invoke that
instead with the same arguments.)
</p>
<p>
In order to create a binary package you must make a directory tree which
contains all the files and directories you want to have in the file system data
part of the package. In Debian-format source packages this directory is
usually <code>debian/tmp</code>, relative to the top of the package's source
tree.
</p>
<p>
They should have the locations (relative to the root of the directory tree
you're constructing) ownerships and permissions which you want them to have on
the system when they are installed.
</p>
<p>
With current versions of <code>dpkg</code> the uid/username and gid/groupname
mappings for the users and groups being used should be the same on the system
where the package is built and the one where it is installed.
</p>
<p>
You need to add one special directory to the root of the miniature file system
tree you're creating: <code>DEBIAN</code>. It should contain the control
information files, notably the binary package control file (see <a
href="#s-pkg-controlfile">The main control information file:
<samp>control</samp>, Section B.3</a>).
</p>
<p>
The <code>DEBIAN</code> directory will not appear in the file system archive of
the package, and so won't be installed by <code>dpkg</code> when the package is
installed.
</p>
<p>
When you've prepared the package, you should invoke:
</p>
<pre>
dpkg --build <var>directory</var>
</pre>
<p>
This will build the package in <code><var>directory</var>.deb</code>.
(<code>dpkg</code> knows that <samp>--build</samp> is a <code>dpkg-deb</code>
option, so it invokes <code>dpkg-deb</code> with the same arguments to build
the package.)
</p>
<p>
See the man page <code>dpkg-deb(8)</code> for details of how to examine the
contents of this newly-created file. You may find the output of following
commands enlightening:
</p>
<pre>
dpkg-deb --info <var>filename</var>.deb
dpkg-deb --contents <var>filename</var>.deb
dpkg --contents <var>filename</var>.deb
</pre>
<p>
To view the copyright file for a package you could use this command:
</p>
<pre>
dpkg --fsys-tarfile <var>filename</var>.deb | tar xOf - --wildcards \*/copyright | pager
</pre>
<hr>
<h2><a name="s-pkg-controlarea"></a>B.2 Package control information files</h2>
<p>
The control information portion of a binary package is a collection of files
with names known to <code>dpkg</code>. It will treat the contents of these
files specially - some of them contain information used by <code>dpkg</code>
when installing or removing the package; others are scripts which the package
maintainer wants <code>dpkg</code> to run.
</p>
<p>
It is possible to put other files in the package control area, but this is not
generally a good idea (though they will largely be ignored).
</p>
<p>
Here is a brief list of the control info files supported by <code>dpkg</code>
and a summary of what they're used for.
</p>
<dl>
<dt><samp>control</samp></dt>
<dd>
<p>
This is the key description file used by <code>dpkg</code>. It specifies the
package's name and version, gives its description for the user, states its
relationships with other packages, and so forth. See <a
href="ch-controlfields.html#s-sourcecontrolfiles">Source package control files
-- <code>debian/control</code>, Section 5.2</a> and <a
href="ch-controlfields.html#s-binarycontrolfiles">Binary package control files
-- <code>DEBIAN/control</code>, Section 5.3</a>.
</p>
<p>
It is usually generated automatically from information in the source package by
the <code>dpkg-gencontrol</code> program, and with assistance from
<code>dpkg-shlibdeps</code>. See <a
href="ap-pkg-sourcepkg.html#s-pkg-sourcetools">Tools for processing source
packages, Section C.1</a>.
</p>
</dd>
</dl>
<dl>
<dt><samp>postinst</samp>, <samp>preinst</samp>, <samp>postrm</samp>, <samp>prerm</samp></dt>
<dd>
<p>
These are executable files (usually scripts) which <code>dpkg</code> runs
during installation, upgrade and removal of packages. They allow the package
to deal with matters which are particular to that package or require more
complicated processing than that provided by <code>dpkg</code>. Details of
when and how they are called are in <a href="ch-maintainerscripts.html">Package
maintainer scripts and installation procedure, Chapter 6</a>.
</p>
<p>
It is very important to make these scripts idempotent. See <a
href="ch-maintainerscripts.html#s-idempotency">Maintainer scripts idempotency,
Section 6.2</a>.
</p>
<p>
The maintainer scripts are guaranteed to run with a controlling terminal and
can interact with the user. See <a
href="ch-maintainerscripts.html#s-controllingterminal">Controlling terminal for
maintainer scripts, Section 6.3</a>.
</p>
</dd>
</dl>
<dl>
<dt><samp>conffiles</samp></dt>
<dd>
<p>
This file contains a list of configuration files which are to be handled
automatically by <code>dpkg</code> (see <a
href="ap-pkg-conffiles.html">Configuration file handling (from old Packaging
Manual), Appendix E</a>). Note that not necessarily every configuration file
should be listed here.
</p>
</dd>
</dl>
<dl>
<dt><samp>shlibs</samp></dt>
<dd>
<p>
This file contains a list of the shared libraries supplied by the package, with
dependency details for each. This is used by <code>dpkg-shlibdeps</code> when
it determines what dependencies are required in a package control file. The
<samp>shlibs</samp> file format is described on <a
href="ch-sharedlibs.html#s-shlibs">The <code>shlibs</code> File Format, Section
8.6.3</a>.
</p>
</dd>
</dl>
<hr>
<h2><a name="s-pkg-controlfile"></a>B.3 The main control information file: <samp>control</samp></h2>
<p>
The most important control information file used by <code>dpkg</code> when it
installs a package is <samp>control</samp>. It contains all the package's
"vital statistics".
</p>
<p>
The binary package control files of packages built from Debian sources are made
by a special tool, <code>dpkg-gencontrol</code>, which reads
<code>debian/control</code> and <code>debian/changelog</code> to find the
information it needs. See <a href="ap-pkg-sourcepkg.html">Source packages
(from old Packaging Manual), Appendix C</a> for more details.
</p>
<p>
The fields in binary package control files are listed in <a
href="ch-controlfields.html#s-binarycontrolfiles">Binary package control files
-- <code>DEBIAN/control</code>, Section 5.3</a>.
</p>
<p>
A description of the syntax of control files and the purpose of the fields is
available in <a href="ch-controlfields.html">Control files and their fields,
Chapter 5</a>.
</p>
<hr>
<h2><a name="sB.4"></a>B.4 Time Stamps</h2>
<p>
See <a href="ch-source.html#s-timestamps">Time Stamps, Section 4.7</a>.
</p>
<hr>
<p>
[ <a href="ap-pkg-scope.html">previous</a> ]
[ <a href="index.html#contents">Contents</a> ]
[ <a href="ch-scope.html">1</a> ]
[ <a href="ch-archive.html">2</a> ]
[ <a href="ch-binary.html">3</a> ]
[ <a href="ch-source.html">4</a> ]
[ <a href="ch-controlfields.html">5</a> ]
[ <a href="ch-maintainerscripts.html">6</a> ]
[ <a href="ch-relationships.html">7</a> ]
[ <a href="ch-sharedlibs.html">8</a> ]
[ <a href="ch-opersys.html">9</a> ]
[ <a href="ch-files.html">10</a> ]
[ <a href="ch-customized-programs.html">11</a> ]
[ <a href="ch-docs.html">12</a> ]
[ <a href="ap-pkg-scope.html">A</a> ]
[ B ]
[ <a href="ap-pkg-sourcepkg.html">C</a> ]
[ <a href="ap-pkg-controlfields.html">D</a> ]
[ <a href="ap-pkg-conffiles.html">E</a> ]
[ <a href="ap-pkg-alternatives.html">F</a> ]
[ <a href="ap-pkg-diversions.html">G</a> ]
[ <a href="ap-pkg-sourcepkg.html">next</a> ]
</p>
<hr>
<p>
Ubuntu Policy Manual
</p>
<address>
version 3.8.2.0ubuntu1, 2009-06-19<br>
<br>
<a href="ch-scope.html#s-authors">The Debian Policy Mailing List</a><br>
<a href="ch-scope.html#s-authors">The Ubuntu Developers Mailing List</a><br>
<br>
</address>
<hr>
</body>
</html>
|