$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

Creating 100m^2 grid automatically using QGIS?Creating grid constrained within polygon in QGIS?Createing polygon layer from point data using QGIS?Creating vector grid using QGIS?Creating grid polygons from coordinates using R or PythonCreating grid from spatio temporal point data?Creating fields in attributes table using other layers using QGISCreate .shp vector grid in QGISQGIS Creating 4km point grid within polygonsCreate a vector grid over a raster layerVector Grid Creates just one grid

What is this called? Old film camera viewer?What makes a good film camera?What to do with an old film camera?What should one look for when buying a used film camera?What is the value and age of this pre-1967 Ricoh 35 mm camera?DSLR recommendation, question about old Canon 35mm film Camera & lensesCan anyone identify the silver rangefinder-style camera in this advertisement?What kind of a Polaroid 600-camera is this?Will an old film camera still work even when not used in a very long time?What is this camera / Can I develop the film?How to fit an action camera into antique (bellows) housing?What to check when buying used and old film bodies?

Why is this plane circling around the Lucknow airport every day?Why do aircraft on Flight Radar 24 jump around randomly sometimes?What airport has this walkway over a taxiway?How does Chicago O'Hare's tower sequence aircraft at peak capacity?Which airport is featured in this Delta commercial?After a crash, for how long is the airport closed?Can a passenger plane stand still in the air, or hover at a fixed location above a ground?What are those trucks towing around, and why?What is this airport outside of Cairo, Egypt?Which US airport has the lowest circling MDH?What is this airport video?