diff options
author | Ulrich Müller <ulm@gentoo.org> | 2020-04-15 20:25:07 +0200 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2020-05-09 13:06:19 +0200 |
commit | 3dc3be9929eaa97576882ab23ac02d9f51368f2d (patch) | |
tree | def2c59cfb5a97fa78a5120b7bf17e8b56749355 /general-concepts/dependencies/text.xml | |
parent | general-concepts/dependencies: Better section structure. (diff) | |
download | devmanual-3dc3be9929eaa97576882ab23ac02d9f51368f2d.tar.gz devmanual-3dc3be9929eaa97576882ab23ac02d9f51368f2d.tar.bz2 devmanual-3dc3be9929eaa97576882ab23ac02d9f51368f2d.zip |
general-concepts/dependencies: Tips for checking dependencies.
This is taken from the Gentoo Developer Handbook, chapter
"Ebuild HOWTO" (proj/en/devrel/handbook/hb-guide-ebuild.xml),
section "Package Dependencies", subsection "Important Notes",
which in turn had been copied from chapter "Common ebuild Mistakes"
(proj/en/devrel/handbook/hb-guide-common-mistakes.xml), section
"Common Ebuild Writing Mistakes", subsection "DEPEND is incomplete".
Permission to reuse the CC-BY-SA-1.0 work under CC BY-SA version 2.0
or any later version of that license obtained from author plasmaroo
per e-mail on 2015-04-16, Message-ID
<CAGV+WHCJ61hvw7kh+Wz=uO2esihwc1dXsCWJJWeFAA7UOyyayw@mail.gmail.com>.
Closes: https://bugs.gentoo.org/465764
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'general-concepts/dependencies/text.xml')
-rw-r--r-- | general-concepts/dependencies/text.xml | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/general-concepts/dependencies/text.xml b/general-concepts/dependencies/text.xml index 52d053e..319137f 100644 --- a/general-concepts/dependencies/text.xml +++ b/general-concepts/dependencies/text.xml @@ -574,6 +574,57 @@ DEPEND=" </section> <section> +<title>Tips for Checking Dependencies</title> +<body> + +<p> +It is important to ensure that all the dependencies are complete for your +package: +</p> + +<dl> + <dt>Look at installed binaries/libraries</dt> + <dd> + Use a tool like <c>scanelf -n</c> (from app-misc/pax-utils) or + <c>objdump -p</c> (from sys-devel/binutils) to list <c>DT_NEEDED</c> + entries + </dd> + <dt>Look in <c>configure.ac</c></dt> + <dd> + Look for checks for packages in here. Things to look out for are pkg-config + checks or <c>AM_*</c> functions that check for a specific version. + </dd> + <dt>Look at included <c>.spec</c> files</dt> + <dd> + A good indication of dependencies is to look at the included <c>.spec</c> + files for relevant deps. However, do not trust them to be the definitive + complete list of dependencies. + </dd> + <dt>Look at the application/library website</dt> + <dd> + Check the application website for possible dependencies that they suggest + are needed + </dd> + <dt>Read the <c>README</c> and <c>INSTALL</c> for the package</dt> + <dd> + They usually also contain useful information about building and installing + packages + </dd> + <dt> + Remember non-binary dependencies such as pkg-config, doc generation + programs, etc. + </dt> + <dd> + Usually the build process requires some dependencies such as intltool, + libtool, pkg-config, doxygen, scrollkeeper, gtk-doc, etc. Make sure those + are clearly stated. + </dd> +</dl> + +</body> +</section> + +<section> <title>Implicit System Dependency</title> <body> |