$D variable in install command2019 Community Moderator ElectionDebian package issue: files are installing into '/'Linux install commandCan't install gphoto2 on Yocto LinuxAutomatically enter SSH password without using SSH Key, 'expect', 'sshpass' or Pythongcc compilation terminated with “fatal error: string: No such file or directory #include <string>”Execute a command instantly after system is poweredStart module before bootAccessing initramfs-tools features in Yocto generated initramfs imageAdding iptables to yocto causes image do_rootfs to failHow to bitbake copy a prebuilt static library into the sdk

Why does Captain Marvel assume the people on this planet know this?

Can the Mage Hand cantrip feel?

Am I not good enough for you?

Is there an equal sign with wider gap?

Poincare duality on the level of complexes

What's the "normal" opposite of flautando?

Finding algorithms of QGIS commands?

Aliens englobed the Solar System: will we notice?

What wound would be of little consequence to a biped but terrible for a quadruped?

What are actual Tesla M60 models used by AWS?

How to create a hard link to an inode (ext4)?

Peter's Strange Word

Accountant/ lawyer will not return my call

Compression function is not collision resistant but Merkle-Damgard is collision resistant

Why would one plane in this picture not have gear down yet?

What Happens when Passenger Refuses to Fly Boeing 737 Max?

Is Angular momentum conserved in Impure rolling

Bash script should only kill those instances of another script's that it has launched

Can someone explain what is being said here in color publishing in the American Mathematical Monthly?

What to do when during a meeting client people start to fight (even physically) with each others?

Is there any way to click on 6th item of this list

Good allowance savings plan?

How to pass a string to a command that expects a file?

Force user to remove USB token



$D variable in install command



2019 Community Moderator ElectionDebian package issue: files are installing into '/'Linux install commandCan't install gphoto2 on Yocto LinuxAutomatically enter SSH password without using SSH Key, 'expect', 'sshpass' or Pythongcc compilation terminated with “fatal error: string: No such file or directory #include <string>”Execute a command instantly after system is poweredStart module before bootAccessing initramfs-tools features in Yocto generated initramfs imageAdding iptables to yocto causes image do_rootfs to failHow to bitbake copy a prebuilt static library into the sdk










7















I have seen the following install command used in multiple yocto recipes



install -d $D$libdir


I am aware of the install command and its purpose, however I am unable to understand the purpose of $D variable as it is often nowhere defined in the recipe. Can somebody explain the purpose of this shell variable?










share|improve this question
























  • Check out the OpenEmbedded User Manual D: The destination directory.

    – meuh
    Jan 23 '17 at 12:44















7















I have seen the following install command used in multiple yocto recipes



install -d $D$libdir


I am aware of the install command and its purpose, however I am unable to understand the purpose of $D variable as it is often nowhere defined in the recipe. Can somebody explain the purpose of this shell variable?










share|improve this question
























  • Check out the OpenEmbedded User Manual D: The destination directory.

    – meuh
    Jan 23 '17 at 12:44













7












7








7


0






I have seen the following install command used in multiple yocto recipes



install -d $D$libdir


I am aware of the install command and its purpose, however I am unable to understand the purpose of $D variable as it is often nowhere defined in the recipe. Can somebody explain the purpose of this shell variable?










share|improve this question
















I have seen the following install command used in multiple yocto recipes



install -d $D$libdir


I am aware of the install command and its purpose, however I am unable to understand the purpose of $D variable as it is often nowhere defined in the recipe. Can somebody explain the purpose of this shell variable?







compiling yocto






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 24 '17 at 23:07









Gilles

542k12810951613




542k12810951613










asked Jan 23 '17 at 8:14









shery6405shery6405

3814




3814












  • Check out the OpenEmbedded User Manual D: The destination directory.

    – meuh
    Jan 23 '17 at 12:44

















  • Check out the OpenEmbedded User Manual D: The destination directory.

    – meuh
    Jan 23 '17 at 12:44
















Check out the OpenEmbedded User Manual D: The destination directory.

– meuh
Jan 23 '17 at 12:44





Check out the OpenEmbedded User Manual D: The destination directory.

– meuh
Jan 23 '17 at 12:44










3 Answers
3






active

oldest

votes


















7














The $D variable allows the software being built to be installed in a directory other than its real target. For example, you might configure the software so that libdir is /usr/lib, but that's for the target device; when you run the installation on your build system, you don't want the newly-built files to actually be installed in /usr/lib, you want the placed somewhere isolated so that they can be readily identified and copied across to the target system. So you create a temporary directory and install there:



mkdir /tmp/yocto-target
make install D=/tmp/yocto-target


That way the files end up in /tmp/yocto-target/usr/lib and so on. You can then archive all of /tmp/yocto-target using whatever tool you prefer, dropping the /tmp/yocto-target prefix, copy the archive to the target device and install its contents there.



In other build systems, the DESTDIR variable is used for the same reason.






share|improve this answer

























  • Does installing package in $D$libdir copy the output to package DESTDIR or to rootfs foder in /tmp/work.../rootfs ?

    – ransh
    Nov 10 '17 at 15:24











  • Umm... I’m not sure what you’re asking; installing in $D$libdir installs in whatever directory the D and libdir variables point to. DESTDIR is used in other build systems, not Yocto’s.

    – Stephen Kitt
    Nov 10 '17 at 16:09











  • The answer explains the "purpose" of $D, but as the OP wrote "it is often nowhere defined in the recipe". It still remains a mystery where its value comes from. E.g. I have a template recipe generated by the petalinux-create command which references $D but there is no "include" or any other clue as to where the $D is defined.

    – 2.718
    Dec 11 '17 at 22:04







  • 1





    @2.718 it’s not defined because it’s up to the user to specify its value, as indicated in my example: make install D=/tmp/yocto-target will install to a set of directories rooted in /tmp/yocto-target. If no value is given, the installation is done in /.

    – Stephen Kitt
    Dec 11 '17 at 22:08












  • @Stephen Kitt thanks for the clarification. It is not obvious to a newcomer who has not written BB recipes before and is only looking at them to understand how it all hangs together.

    – 2.718
    Dec 14 '17 at 21:09



















1














$D is the usual top of the path used by a Yocto recipe where the recipe installs files that belong to packages produced by this recipe. These directories under $D are scanned by the build system for files to include into packages (like RPM files) and to be included in the so-called sysroot tree where files (e.g. libraries and headers) go that are used by other packages. There are some default rules for this scan and the rules can be expanded.
It is recommended to use these Yocto default paths under $D as much as possible to benefit from the built-in mechanisms of Yocto.



$libdir is defined in bitbake.conf by default as: $exec_prefix/lib which is /usr/lib by default, defined in the same file.



install -d $D$libdir 


In the end this "install" shell command just creates a directory where files are to be saved (e.g. by do_install) that should finally be installed under /usr/lib on the target.



$D/a/b/c for file c is just the intermediate path used for Yocto packaging and $D is "cut away" when the same file c is on the target filesystem.
So for instance $D/a/b/c will be at /a/b/c on the target.



$D is defined by default in poky/meta/conf/bitbake.conf as:



TMPDIR = "$TOPDIR/tmp"
BASE_WORKDIR ?= "$TMPDIR/work"
WORKDIR = "$BASE_WORKDIR/$MULTIMACH_TARGET_SYS/$PN/$EXTENDPE$PV-$PR"
D = "$WORKDIR/image"





share|improve this answer

























  • I'm not familiar with yocto; does this D variable come into play, given Stephen's answer?

    – Jeff Schaller
    Dec 11 '18 at 16:09


















0














I am new to Yocto build. I wrote simple .bb file.
Here my question is how to I change my destination directory $D. I want to place my executable in different path...like want to create OWN DIRECTORY LATER i WANT TO MOVE ALL RELATED EXECUTABLES IN TO IT.
Here I placed sample .bb file.



SECTION = "devel"
LICENSE = "CLOSED"
EXTERNALSRC := "$THISDIR/../../../../sample-applications/sampleapp/src/"
inherit cmake externalsrc
inherit autotools gettext
do_compile()
$CC $EXTERNALSRC/sampleapp.c $LDFLAGS -o sample

do_install()
install -d $D $bindir
install -m 0755 sample $D $bindir






share|improve this answer








New contributor




user7850934 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. - From Review

    – Prvt_Yadv
    1 hour ago










Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f339463%2fd-variable-in-install-command%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























3 Answers
3






active

oldest

votes








3 Answers
3






active

oldest

votes









active

oldest

votes






active

oldest

votes









7














The $D variable allows the software being built to be installed in a directory other than its real target. For example, you might configure the software so that libdir is /usr/lib, but that's for the target device; when you run the installation on your build system, you don't want the newly-built files to actually be installed in /usr/lib, you want the placed somewhere isolated so that they can be readily identified and copied across to the target system. So you create a temporary directory and install there:



mkdir /tmp/yocto-target
make install D=/tmp/yocto-target


That way the files end up in /tmp/yocto-target/usr/lib and so on. You can then archive all of /tmp/yocto-target using whatever tool you prefer, dropping the /tmp/yocto-target prefix, copy the archive to the target device and install its contents there.



In other build systems, the DESTDIR variable is used for the same reason.






share|improve this answer

























  • Does installing package in $D$libdir copy the output to package DESTDIR or to rootfs foder in /tmp/work.../rootfs ?

    – ransh
    Nov 10 '17 at 15:24











  • Umm... I’m not sure what you’re asking; installing in $D$libdir installs in whatever directory the D and libdir variables point to. DESTDIR is used in other build systems, not Yocto’s.

    – Stephen Kitt
    Nov 10 '17 at 16:09











  • The answer explains the "purpose" of $D, but as the OP wrote "it is often nowhere defined in the recipe". It still remains a mystery where its value comes from. E.g. I have a template recipe generated by the petalinux-create command which references $D but there is no "include" or any other clue as to where the $D is defined.

    – 2.718
    Dec 11 '17 at 22:04







  • 1





    @2.718 it’s not defined because it’s up to the user to specify its value, as indicated in my example: make install D=/tmp/yocto-target will install to a set of directories rooted in /tmp/yocto-target. If no value is given, the installation is done in /.

    – Stephen Kitt
    Dec 11 '17 at 22:08












  • @Stephen Kitt thanks for the clarification. It is not obvious to a newcomer who has not written BB recipes before and is only looking at them to understand how it all hangs together.

    – 2.718
    Dec 14 '17 at 21:09
















7














The $D variable allows the software being built to be installed in a directory other than its real target. For example, you might configure the software so that libdir is /usr/lib, but that's for the target device; when you run the installation on your build system, you don't want the newly-built files to actually be installed in /usr/lib, you want the placed somewhere isolated so that they can be readily identified and copied across to the target system. So you create a temporary directory and install there:



mkdir /tmp/yocto-target
make install D=/tmp/yocto-target


That way the files end up in /tmp/yocto-target/usr/lib and so on. You can then archive all of /tmp/yocto-target using whatever tool you prefer, dropping the /tmp/yocto-target prefix, copy the archive to the target device and install its contents there.



In other build systems, the DESTDIR variable is used for the same reason.






share|improve this answer

























  • Does installing package in $D$libdir copy the output to package DESTDIR or to rootfs foder in /tmp/work.../rootfs ?

    – ransh
    Nov 10 '17 at 15:24











  • Umm... I’m not sure what you’re asking; installing in $D$libdir installs in whatever directory the D and libdir variables point to. DESTDIR is used in other build systems, not Yocto’s.

    – Stephen Kitt
    Nov 10 '17 at 16:09











  • The answer explains the "purpose" of $D, but as the OP wrote "it is often nowhere defined in the recipe". It still remains a mystery where its value comes from. E.g. I have a template recipe generated by the petalinux-create command which references $D but there is no "include" or any other clue as to where the $D is defined.

    – 2.718
    Dec 11 '17 at 22:04







  • 1





    @2.718 it’s not defined because it’s up to the user to specify its value, as indicated in my example: make install D=/tmp/yocto-target will install to a set of directories rooted in /tmp/yocto-target. If no value is given, the installation is done in /.

    – Stephen Kitt
    Dec 11 '17 at 22:08












  • @Stephen Kitt thanks for the clarification. It is not obvious to a newcomer who has not written BB recipes before and is only looking at them to understand how it all hangs together.

    – 2.718
    Dec 14 '17 at 21:09














7












7








7







The $D variable allows the software being built to be installed in a directory other than its real target. For example, you might configure the software so that libdir is /usr/lib, but that's for the target device; when you run the installation on your build system, you don't want the newly-built files to actually be installed in /usr/lib, you want the placed somewhere isolated so that they can be readily identified and copied across to the target system. So you create a temporary directory and install there:



mkdir /tmp/yocto-target
make install D=/tmp/yocto-target


That way the files end up in /tmp/yocto-target/usr/lib and so on. You can then archive all of /tmp/yocto-target using whatever tool you prefer, dropping the /tmp/yocto-target prefix, copy the archive to the target device and install its contents there.



In other build systems, the DESTDIR variable is used for the same reason.






share|improve this answer















The $D variable allows the software being built to be installed in a directory other than its real target. For example, you might configure the software so that libdir is /usr/lib, but that's for the target device; when you run the installation on your build system, you don't want the newly-built files to actually be installed in /usr/lib, you want the placed somewhere isolated so that they can be readily identified and copied across to the target system. So you create a temporary directory and install there:



mkdir /tmp/yocto-target
make install D=/tmp/yocto-target


That way the files end up in /tmp/yocto-target/usr/lib and so on. You can then archive all of /tmp/yocto-target using whatever tool you prefer, dropping the /tmp/yocto-target prefix, copy the archive to the target device and install its contents there.



In other build systems, the DESTDIR variable is used for the same reason.







share|improve this answer














share|improve this answer



share|improve this answer








edited Jan 23 '17 at 8:47

























answered Jan 23 '17 at 8:19









Stephen KittStephen Kitt

175k24400478




175k24400478












  • Does installing package in $D$libdir copy the output to package DESTDIR or to rootfs foder in /tmp/work.../rootfs ?

    – ransh
    Nov 10 '17 at 15:24











  • Umm... I’m not sure what you’re asking; installing in $D$libdir installs in whatever directory the D and libdir variables point to. DESTDIR is used in other build systems, not Yocto’s.

    – Stephen Kitt
    Nov 10 '17 at 16:09











  • The answer explains the "purpose" of $D, but as the OP wrote "it is often nowhere defined in the recipe". It still remains a mystery where its value comes from. E.g. I have a template recipe generated by the petalinux-create command which references $D but there is no "include" or any other clue as to where the $D is defined.

    – 2.718
    Dec 11 '17 at 22:04







  • 1





    @2.718 it’s not defined because it’s up to the user to specify its value, as indicated in my example: make install D=/tmp/yocto-target will install to a set of directories rooted in /tmp/yocto-target. If no value is given, the installation is done in /.

    – Stephen Kitt
    Dec 11 '17 at 22:08












  • @Stephen Kitt thanks for the clarification. It is not obvious to a newcomer who has not written BB recipes before and is only looking at them to understand how it all hangs together.

    – 2.718
    Dec 14 '17 at 21:09


















  • Does installing package in $D$libdir copy the output to package DESTDIR or to rootfs foder in /tmp/work.../rootfs ?

    – ransh
    Nov 10 '17 at 15:24











  • Umm... I’m not sure what you’re asking; installing in $D$libdir installs in whatever directory the D and libdir variables point to. DESTDIR is used in other build systems, not Yocto’s.

    – Stephen Kitt
    Nov 10 '17 at 16:09











  • The answer explains the "purpose" of $D, but as the OP wrote "it is often nowhere defined in the recipe". It still remains a mystery where its value comes from. E.g. I have a template recipe generated by the petalinux-create command which references $D but there is no "include" or any other clue as to where the $D is defined.

    – 2.718
    Dec 11 '17 at 22:04







  • 1





    @2.718 it’s not defined because it’s up to the user to specify its value, as indicated in my example: make install D=/tmp/yocto-target will install to a set of directories rooted in /tmp/yocto-target. If no value is given, the installation is done in /.

    – Stephen Kitt
    Dec 11 '17 at 22:08












  • @Stephen Kitt thanks for the clarification. It is not obvious to a newcomer who has not written BB recipes before and is only looking at them to understand how it all hangs together.

    – 2.718
    Dec 14 '17 at 21:09

















Does installing package in $D$libdir copy the output to package DESTDIR or to rootfs foder in /tmp/work.../rootfs ?

– ransh
Nov 10 '17 at 15:24





Does installing package in $D$libdir copy the output to package DESTDIR or to rootfs foder in /tmp/work.../rootfs ?

– ransh
Nov 10 '17 at 15:24













Umm... I’m not sure what you’re asking; installing in $D$libdir installs in whatever directory the D and libdir variables point to. DESTDIR is used in other build systems, not Yocto’s.

– Stephen Kitt
Nov 10 '17 at 16:09





Umm... I’m not sure what you’re asking; installing in $D$libdir installs in whatever directory the D and libdir variables point to. DESTDIR is used in other build systems, not Yocto’s.

– Stephen Kitt
Nov 10 '17 at 16:09













The answer explains the "purpose" of $D, but as the OP wrote "it is often nowhere defined in the recipe". It still remains a mystery where its value comes from. E.g. I have a template recipe generated by the petalinux-create command which references $D but there is no "include" or any other clue as to where the $D is defined.

– 2.718
Dec 11 '17 at 22:04






The answer explains the "purpose" of $D, but as the OP wrote "it is often nowhere defined in the recipe". It still remains a mystery where its value comes from. E.g. I have a template recipe generated by the petalinux-create command which references $D but there is no "include" or any other clue as to where the $D is defined.

– 2.718
Dec 11 '17 at 22:04





1




1





@2.718 it’s not defined because it’s up to the user to specify its value, as indicated in my example: make install D=/tmp/yocto-target will install to a set of directories rooted in /tmp/yocto-target. If no value is given, the installation is done in /.

– Stephen Kitt
Dec 11 '17 at 22:08






@2.718 it’s not defined because it’s up to the user to specify its value, as indicated in my example: make install D=/tmp/yocto-target will install to a set of directories rooted in /tmp/yocto-target. If no value is given, the installation is done in /.

– Stephen Kitt
Dec 11 '17 at 22:08














@Stephen Kitt thanks for the clarification. It is not obvious to a newcomer who has not written BB recipes before and is only looking at them to understand how it all hangs together.

– 2.718
Dec 14 '17 at 21:09






@Stephen Kitt thanks for the clarification. It is not obvious to a newcomer who has not written BB recipes before and is only looking at them to understand how it all hangs together.

– 2.718
Dec 14 '17 at 21:09














1














$D is the usual top of the path used by a Yocto recipe where the recipe installs files that belong to packages produced by this recipe. These directories under $D are scanned by the build system for files to include into packages (like RPM files) and to be included in the so-called sysroot tree where files (e.g. libraries and headers) go that are used by other packages. There are some default rules for this scan and the rules can be expanded.
It is recommended to use these Yocto default paths under $D as much as possible to benefit from the built-in mechanisms of Yocto.



$libdir is defined in bitbake.conf by default as: $exec_prefix/lib which is /usr/lib by default, defined in the same file.



install -d $D$libdir 


In the end this "install" shell command just creates a directory where files are to be saved (e.g. by do_install) that should finally be installed under /usr/lib on the target.



$D/a/b/c for file c is just the intermediate path used for Yocto packaging and $D is "cut away" when the same file c is on the target filesystem.
So for instance $D/a/b/c will be at /a/b/c on the target.



$D is defined by default in poky/meta/conf/bitbake.conf as:



TMPDIR = "$TOPDIR/tmp"
BASE_WORKDIR ?= "$TMPDIR/work"
WORKDIR = "$BASE_WORKDIR/$MULTIMACH_TARGET_SYS/$PN/$EXTENDPE$PV-$PR"
D = "$WORKDIR/image"





share|improve this answer

























  • I'm not familiar with yocto; does this D variable come into play, given Stephen's answer?

    – Jeff Schaller
    Dec 11 '18 at 16:09















1














$D is the usual top of the path used by a Yocto recipe where the recipe installs files that belong to packages produced by this recipe. These directories under $D are scanned by the build system for files to include into packages (like RPM files) and to be included in the so-called sysroot tree where files (e.g. libraries and headers) go that are used by other packages. There are some default rules for this scan and the rules can be expanded.
It is recommended to use these Yocto default paths under $D as much as possible to benefit from the built-in mechanisms of Yocto.



$libdir is defined in bitbake.conf by default as: $exec_prefix/lib which is /usr/lib by default, defined in the same file.



install -d $D$libdir 


In the end this "install" shell command just creates a directory where files are to be saved (e.g. by do_install) that should finally be installed under /usr/lib on the target.



$D/a/b/c for file c is just the intermediate path used for Yocto packaging and $D is "cut away" when the same file c is on the target filesystem.
So for instance $D/a/b/c will be at /a/b/c on the target.



$D is defined by default in poky/meta/conf/bitbake.conf as:



TMPDIR = "$TOPDIR/tmp"
BASE_WORKDIR ?= "$TMPDIR/work"
WORKDIR = "$BASE_WORKDIR/$MULTIMACH_TARGET_SYS/$PN/$EXTENDPE$PV-$PR"
D = "$WORKDIR/image"





share|improve this answer

























  • I'm not familiar with yocto; does this D variable come into play, given Stephen's answer?

    – Jeff Schaller
    Dec 11 '18 at 16:09













1












1








1







$D is the usual top of the path used by a Yocto recipe where the recipe installs files that belong to packages produced by this recipe. These directories under $D are scanned by the build system for files to include into packages (like RPM files) and to be included in the so-called sysroot tree where files (e.g. libraries and headers) go that are used by other packages. There are some default rules for this scan and the rules can be expanded.
It is recommended to use these Yocto default paths under $D as much as possible to benefit from the built-in mechanisms of Yocto.



$libdir is defined in bitbake.conf by default as: $exec_prefix/lib which is /usr/lib by default, defined in the same file.



install -d $D$libdir 


In the end this "install" shell command just creates a directory where files are to be saved (e.g. by do_install) that should finally be installed under /usr/lib on the target.



$D/a/b/c for file c is just the intermediate path used for Yocto packaging and $D is "cut away" when the same file c is on the target filesystem.
So for instance $D/a/b/c will be at /a/b/c on the target.



$D is defined by default in poky/meta/conf/bitbake.conf as:



TMPDIR = "$TOPDIR/tmp"
BASE_WORKDIR ?= "$TMPDIR/work"
WORKDIR = "$BASE_WORKDIR/$MULTIMACH_TARGET_SYS/$PN/$EXTENDPE$PV-$PR"
D = "$WORKDIR/image"





share|improve this answer















$D is the usual top of the path used by a Yocto recipe where the recipe installs files that belong to packages produced by this recipe. These directories under $D are scanned by the build system for files to include into packages (like RPM files) and to be included in the so-called sysroot tree where files (e.g. libraries and headers) go that are used by other packages. There are some default rules for this scan and the rules can be expanded.
It is recommended to use these Yocto default paths under $D as much as possible to benefit from the built-in mechanisms of Yocto.



$libdir is defined in bitbake.conf by default as: $exec_prefix/lib which is /usr/lib by default, defined in the same file.



install -d $D$libdir 


In the end this "install" shell command just creates a directory where files are to be saved (e.g. by do_install) that should finally be installed under /usr/lib on the target.



$D/a/b/c for file c is just the intermediate path used for Yocto packaging and $D is "cut away" when the same file c is on the target filesystem.
So for instance $D/a/b/c will be at /a/b/c on the target.



$D is defined by default in poky/meta/conf/bitbake.conf as:



TMPDIR = "$TOPDIR/tmp"
BASE_WORKDIR ?= "$TMPDIR/work"
WORKDIR = "$BASE_WORKDIR/$MULTIMACH_TARGET_SYS/$PN/$EXTENDPE$PV-$PR"
D = "$WORKDIR/image"






share|improve this answer














share|improve this answer



share|improve this answer








edited Dec 21 '18 at 14:00

























answered Dec 11 '18 at 14:54









crayorcrayor

112




112












  • I'm not familiar with yocto; does this D variable come into play, given Stephen's answer?

    – Jeff Schaller
    Dec 11 '18 at 16:09

















  • I'm not familiar with yocto; does this D variable come into play, given Stephen's answer?

    – Jeff Schaller
    Dec 11 '18 at 16:09
















I'm not familiar with yocto; does this D variable come into play, given Stephen's answer?

– Jeff Schaller
Dec 11 '18 at 16:09





I'm not familiar with yocto; does this D variable come into play, given Stephen's answer?

– Jeff Schaller
Dec 11 '18 at 16:09











0














I am new to Yocto build. I wrote simple .bb file.
Here my question is how to I change my destination directory $D. I want to place my executable in different path...like want to create OWN DIRECTORY LATER i WANT TO MOVE ALL RELATED EXECUTABLES IN TO IT.
Here I placed sample .bb file.



SECTION = "devel"
LICENSE = "CLOSED"
EXTERNALSRC := "$THISDIR/../../../../sample-applications/sampleapp/src/"
inherit cmake externalsrc
inherit autotools gettext
do_compile()
$CC $EXTERNALSRC/sampleapp.c $LDFLAGS -o sample

do_install()
install -d $D $bindir
install -m 0755 sample $D $bindir






share|improve this answer








New contributor




user7850934 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. - From Review

    – Prvt_Yadv
    1 hour ago















0














I am new to Yocto build. I wrote simple .bb file.
Here my question is how to I change my destination directory $D. I want to place my executable in different path...like want to create OWN DIRECTORY LATER i WANT TO MOVE ALL RELATED EXECUTABLES IN TO IT.
Here I placed sample .bb file.



SECTION = "devel"
LICENSE = "CLOSED"
EXTERNALSRC := "$THISDIR/../../../../sample-applications/sampleapp/src/"
inherit cmake externalsrc
inherit autotools gettext
do_compile()
$CC $EXTERNALSRC/sampleapp.c $LDFLAGS -o sample

do_install()
install -d $D $bindir
install -m 0755 sample $D $bindir






share|improve this answer








New contributor




user7850934 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. - From Review

    – Prvt_Yadv
    1 hour ago













0












0








0







I am new to Yocto build. I wrote simple .bb file.
Here my question is how to I change my destination directory $D. I want to place my executable in different path...like want to create OWN DIRECTORY LATER i WANT TO MOVE ALL RELATED EXECUTABLES IN TO IT.
Here I placed sample .bb file.



SECTION = "devel"
LICENSE = "CLOSED"
EXTERNALSRC := "$THISDIR/../../../../sample-applications/sampleapp/src/"
inherit cmake externalsrc
inherit autotools gettext
do_compile()
$CC $EXTERNALSRC/sampleapp.c $LDFLAGS -o sample

do_install()
install -d $D $bindir
install -m 0755 sample $D $bindir






share|improve this answer








New contributor




user7850934 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.










I am new to Yocto build. I wrote simple .bb file.
Here my question is how to I change my destination directory $D. I want to place my executable in different path...like want to create OWN DIRECTORY LATER i WANT TO MOVE ALL RELATED EXECUTABLES IN TO IT.
Here I placed sample .bb file.



SECTION = "devel"
LICENSE = "CLOSED"
EXTERNALSRC := "$THISDIR/../../../../sample-applications/sampleapp/src/"
inherit cmake externalsrc
inherit autotools gettext
do_compile()
$CC $EXTERNALSRC/sampleapp.c $LDFLAGS -o sample

do_install()
install -d $D $bindir
install -m 0755 sample $D $bindir







share|improve this answer








New contributor




user7850934 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this answer



share|improve this answer






New contributor




user7850934 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









answered 1 hour ago









user7850934user7850934

1




1




New contributor




user7850934 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





user7850934 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






user7850934 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












  • If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. - From Review

    – Prvt_Yadv
    1 hour ago

















  • If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. - From Review

    – Prvt_Yadv
    1 hour ago
















If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. - From Review

– Prvt_Yadv
1 hour ago





If you have a new question, please ask it by clicking the Ask Question button. Include a link to this question if it helps provide context. - From Review

– Prvt_Yadv
1 hour ago

















draft saved

draft discarded
















































Thanks for contributing an answer to Unix & Linux Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f339463%2fd-variable-in-install-command%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







-compiling, yocto

Popular posts from this blog

Word for a person who has no opinion about whether god existsWord for having a definite opinion while simultaneously withholding judgment?What's the opposite of “newcomer? Is ”veteran" OK?What do you call an “atheist” who might believe in an afterlife?What's a word for someone who wants to voice opinions but not have them challenged?Word for someone who dismisses contrary opinions as irrational?Somone who thinks they are overly special/out of the ordinaryIs there a word, phrase or idiom for “a person who is incapable of thinking about the future”?The belief that a god is human-likeA word for a non-famous person/thing you have heard a lot aboutAdjective for a person who enjoys taking care of their appearance

What was this official D&D 3.5e Lovecraft-flavored rulebook?What was this set of RPG tools called?As a first-time DM should I let my players play complex character classes and roles?Nymph's Kiss and the RelationshipWhat was the name of this Cleric Prestige Class that shapes metal with its bare hands?Are the 3.5e Dragonlance books third party or official works?What's up with the domain Vile Darkness?What was this 80s book about RPGs?What was the name of this Werewolf band?What book had Rituals to “upgrade” animal companions to keep them viable at higher levels?What was this RPG that had rules for player-owned businesses?

2017 IndyCar Series Contents Series news Teams and drivers Schedule Season summary Footnotes References External links Navigation menu"INDYCAR: Initial 2018 bodywork concepts unveiled"the original"IndyCar confirms switch to Performance Friction brakes in 2017""AJ Foyt Racing will switch to Chevy"the original"Carlos Munoz, Conor Daly will drive for AJ Foyt Racing""Zach Veach's Indy 500 Debut Confirmed with Foyt""No mass exodus from Honda after Ganassi switch""Ex-F1 driver Sato joins Andretti Autosport for 2017 IndyCar season""IndyCar's Ryan Hunter-Reay, sponsor DHL paired through 2020""hhgregg and Andretti Autosport announce partnership for key races in 2016""INDYCAR: Rossi re-signs with Andretti"the original"McLaren Formula 1 - Fernando Alonso to race at Indy 500 with McLaren, Honda and Andretti Autosport""Shank will finally take part in Indy 500 with Harvey, Andretti | MotorSportsTalk""Andretti adds Jack Harvey to Indy 500 field""Ganassi switches to Honda power for 2017""INDYCAR: Chilton returns to Ganassi"the original"IndyCar silly season: Who's going where in 2017?""INDYCAR: Kanaan, NTT Data return to Ganassi"the original"Kimball to remain at Ganassi for 2017""Coyne confirms Bourdais for 2017 IndyCar season""Davison to sub for Bourdais in Indy 500"the original"Gutierrez confirmed for Detroit IndyCar debut""Gutierrez returns with Coyne for rest of 2017 season""Vautier to drive for Coyne at Texas"the original"INDYCAR: Coyne confirms Jones for 2017"the original"Pippa Mann returns to Coyne for Indy 500""Karam, Dreyer & Reinbold teaming up again for Indianapolis 500""Pigot to return to Ed Carpenter Racing""Hildebrand confirmed as full-time Ed Carpenter driver""Veach to replace injured Hildebrand at Barber"the originalNew Team Harding Racing Enters Chaves for 101st Indianapolis 500"Juncos Racing Announces Entry in 101st Running of the Indianapolis 500 :: Juncos Racing""Juncos confirms Pigot for Indy 500""Saavedra confirmed in Juncos' second 500 entry"the original"Lazier confirms Indy 500 run after son's USF2000 debut"the original"Claman DeMelo to race for RLLR at Sonoma"the original"Rahal signs Servia and ace engineer for 2017""IndyCar: Aleshin returns with Schmidt"the original"Aleshin replaced by Saavedra for Toronto""Jack Harvey will pilot SPM No. 7 car at Watkins Glen, Sonoma""Jay Howard confirmed in Tony Stewart's supported SPM Indy entry""INDYCAR: Newgarden to wave the flag at Penske"the original"Pagenaud opts for No. 1 in 2017"the original"Penske confirms Newgarden for 2017""Montoya to stay with Team Penske in 2017""Target leaving IndyCar after 27 seasons with Chip Ganassi""Cavin: IndyCar could see complete driver/team shakeup in 2017""End of the road for KV Racing?""KV Racing confirms closure, equipment sold to Juncos""Juncos confirms IndyCar Series entry"the original"Juncos readies IndyCar program, aims for '17 500"the original"Harding Racing to add Texas, Pocono to schedule"the original"Sato signs with Andretti Autosport for 2017""INDYCAR: Aleshin in Doubt at SPM"the original"Long Beach notebook: JR Hildebrand breaks hand""Hildebrand cleared to return at Phoenix"the original"Bourdais to undergo surgery on multiple fractures""Aleshin loses Schmidt Peterson IndyCar ride""Saavedra in at SPM for Pocono, Gateway"the original"Bourdais to make return at Gateway"the original"The IndyCar Grand Prix no longer is sponsored by Angie's List""2017 IndyCar Series rulebook""2017 Verizon IndyCar Series Official Rulebook"Official websiteeeeee