| @@ -1,14 +1,15 @@ | | | @@ -1,14 +1,15 @@ |
1 | <!-- $NetBSD: buildlink.xml,v 1.42 2020/06/18 20:30:12 wiz Exp $ --> | | 1 | <?xml version="1.0" encoding="utf-8"?> |
| | | 2 | <!-- $NetBSD: buildlink.xml,v 1.43 2020/06/20 09:47:05 wiz Exp $ --> |
2 | | | 3 | |
3 | <chapter id="buildlink"> | | 4 | <chapter id="buildlink"> |
4 | <title>Buildlink methodology</title> | | 5 | <title>Buildlink methodology</title> |
5 | | | 6 | |
6 | <para>Buildlink is a framework in pkgsrc that controls what headers and libraries | | 7 | <para>Buildlink is a framework in pkgsrc that controls what headers and libraries |
7 | are seen by a package's configure and build processes. This is implemented | | 8 | are seen by a package's configure and build processes. This is implemented |
8 | in a two step process:</para> | | 9 | in a two step process:</para> |
9 | | | 10 | |
10 | <orderedlist> | | 11 | <orderedlist> |
11 | <listitem> | | 12 | <listitem> |
12 | <para>Symlink headers and libraries for dependencies into | | 13 | <para>Symlink headers and libraries for dependencies into |
13 | <varname>BUILDLINK_DIR</varname>, which by default is a subdirectory | | 14 | <varname>BUILDLINK_DIR</varname>, which by default is a subdirectory |
14 | of <varname>WRKDIR</varname>.</para> | | 15 | of <varname>WRKDIR</varname>.</para> |
| @@ -396,37 +397,38 @@ BUILDLINK_TREE+= -tiff | | | @@ -396,37 +397,38 @@ BUILDLINK_TREE+= -tiff |
396 | could be updated to that higher version.)</para> | | 397 | could be updated to that higher version.)</para> |
397 | | | 398 | |
398 | <para>On the other hand, changes to | | 399 | <para>On the other hand, changes to |
399 | <varname>BUILDLINK_ABI_DEPENDS.<replaceable>pkg</replaceable></varname> | | 400 | <varname>BUILDLINK_ABI_DEPENDS.<replaceable>pkg</replaceable></varname> |
400 | are more common. The variable will need to be updated every | | 401 | are more common. The variable will need to be updated every |
401 | time the major version of one of its shared libraries is changed, | | 402 | time the major version of one of its shared libraries is changed, |
402 | or any other change where a binary built against the previous | | 403 | or any other change where a binary built against the previous |
403 | version of the package will not run against the new version any | | 404 | version of the package will not run against the new version any |
404 | longer.</para> | | 405 | longer.</para> |
405 | | | 406 | |
406 | <para>In such a case, the package's | | 407 | <para>In such a case, the package's |
407 | <varname>BUILDLINK_ABI_DEPENDS.<replaceable>pkg</replaceable></varname> | | 408 | <varname>BUILDLINK_ABI_DEPENDS.<replaceable>pkg</replaceable></varname> |
408 | must be increased to require the new package version. Then the | | 409 | must be increased to require the new package version. Then the |
409 | <varname>PKGREVISION</varname> of all packages that depend on | | 410 | <varname>PKGREVISION</varname> of all packages |
410 | this package need to be increased, and if they have | | 411 | <replaceable>foo</replaceable> that depend on this package need |
411 | <filename>buildlink3.mk</filename> files, their | | 412 | to be increased, and if they have |
412 | <varname>BUILDLINK_ABI_DEPENDS.<replaceable>pkg</replaceable></varname> | | 413 | <filename>buildlink3.mk</filename> files, |
413 | must be increased to the new version as well. This is required | | 414 | <varname>BUILDLINK_ABI_DEPENDS.<replaceable>foo</replaceable></varname> |
414 | so that a package will pull in the versions of the packages that | | 415 | in their <filename>buildlink3.mk</filename> files must be |
415 | use the new ABI and that the packages' | | 416 | increased to the new version as well. This is required so that a |
416 | <varname>PKGREVISION</varname>s uniquely identify the packages | | 417 | package will pull in the versions of the packages that use the |
417 | built against the new ABI. The <filename | | 418 | new ABI and that the packages' <varname>PKGREVISION</varname>s |
418 | role="pkg">pkgtools/revbump</filename> package can help with | | 419 | uniquely identify the packages built against the new ABI. The |
419 | these updates.</para> | | 420 | <filename role="pkg">pkgtools/revbump</filename> package can |
| | | 421 | help with these updates.</para> |
420 | | | 422 | |
421 | <para>See <xref linkend="dependencies"/> for more information | | 423 | <para>See <xref linkend="dependencies"/> for more information |
422 | about dependencies on other packages, including the | | 424 | about dependencies on other packages, including the |
423 | <varname>BUILDLINK_API_DEPENDS</varname> definitions.</para> | | 425 | <varname>BUILDLINK_API_DEPENDS</varname> definitions.</para> |
424 | | | 426 | |
425 | <para>Please take careful consideration before adjusting | | 427 | <para>Please take careful consideration before adjusting |
426 | <varname>BUILDLINK_API_DEPENDS.<replaceable>pkg</replaceable></varname> | | 428 | <varname>BUILDLINK_API_DEPENDS.<replaceable>pkg</replaceable></varname> |
427 | or | | 429 | or |
428 | <varname>BUILDLINK_ABI_DEPENDS.<replaceable>pkg</replaceable></varname> | | 430 | <varname>BUILDLINK_ABI_DEPENDS.<replaceable>pkg</replaceable></varname> |
429 | in a <filename>buildlink3.mk</filename> file as we don't want to | | 431 | in a <filename>buildlink3.mk</filename> file as we don't want to |
430 | cause unneeded package deletions and rebuilds. In many cases, | | 432 | cause unneeded package deletions and rebuilds. In many cases, |
431 | new versions of packages work just fine with older | | 433 | new versions of packages work just fine with older |
432 | dependencies.</para> | | 434 | dependencies.</para> |