Discussion:
Installing .deb file in Build
DAMARLA Satya Swaroop
2013-06-19 07:10:20 UTC
Permalink
Hey,

I have a .deb file which has to be installed. It installs properly on the
target image but I want to install it at the build itself by creating a
bitbake recipe.. Is it possible to install .deb files or not? If possible,
please suggest me so that I can make it..

Greets,
Satya
Khem Raj
2013-06-20 02:06:22 UTC
Permalink
Hey,
I have a .deb file which has to be installed. It installs properly on the target image but I want to install it at the build itself by creating a bitbake recipe.. Is it possible to install .deb files or not? If possible, please suggest me so that I can make it..
you can extract the contents of deb by something like below

ar p <debfile> data.tar.gz | tar -xvz
Greets,
Satya
_______________________________________________
yocto mailing list
https://lists.yoctoproject.org/listinfo/yocto
Paul Eggleton
2013-06-20 10:09:48 UTC
Permalink
Post by DAMARLA Satya Swaroop
I have a .deb file which has to be installed. It installs properly on the
target image but I want to install it at the build itself by creating a
bitbake recipe.. Is it possible to install .deb files or not? If possible,
please suggest me so that I can make it..
I think the bin_package class is designed explicitly to help with this. Have a
look at classes/bin_package.bbclass.

Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
DAMARLA Satya Swaroop
2013-06-25 13:20:19 UTC
Permalink
Hi Guys,

I am trying to install .deb file and the recipe is as follows... may I ask
you what is the mistake that is not allowing it to build it into the
rootfilesystem....

*UMMARY = "Bootstrapper from Skidata"*
*DESCRIPTION = "For the moment it just installs the .deb file"*
*LICENSE = "CLOSED"*
*
*
*SRC_URI[md5sum] = "7835334732d1704765e52168994b09a6"*
*SRC_URI[sha256sum] =
"11bda24a487da08ef6d3133cc0bf55862e6ae75891c7d08433341f2f3a0dc740"*
*
*
*
*
*SRC_URI =
"file:///home/damarla/openYocto/downloads/skidata-bootstraploader-1.0.0.14.deb"
*
*
*
*inherit bin_package*
*
*
*INITSCRIPT_PACKAGES = "${PN}-bsd"*
*INITSCRIPT_NAME_${PN}-bsp = "bootstraploader"*
*INITSCRIPT_PARAMS_${PN}-bsp = "defaults 90"*
*
*
*PACKAGES =+ "${PN} ${PN}-bsd"*
*
*
*FILES_${PN}-bsd = "${sysconfdir}/init.d/bootstraploader"*
*FILES_${PN} = "${D}/usr/skidata/bootstraploader/*.sh
${D}/usr/skidata/bootstraploader/*.pm"*

and the error I get is

*ERROR: Function failed: do_rootfs (log file is located at
/home/damarla/openYocto/poky/buildSmartCPU/tmp/work/smartcpu-untersberg-linux-gnueabi/rootfs-smartcpu/1.0-r0/temp/log.do_rootfs.30357)
*
*ERROR: Logfile of failure stored in:
/home/damarla/openYocto/poky/buildSmartCPU/tmp/work/smartcpu-untersberg-linux-gnueabi/rootfs-smartcpu/1.0-r0/temp/log.do_rootfs.30357
*
*Log data follows:*
*| DEBUG: Executing shell function do_rootfs*
*| dpkg-scanpackages: info: Wrote 33 entries to output Packages file.*
*| dpkg-scanpackages: info: Wrote 5352 entries to output Packages file.*
*| dpkg-scanpackages: info: Wrote 157 entries to output Packages file.*
*| dpkg-scanpackages: info: Wrote 33 entries to output Packages file.*
*| Ign file: ./ InRelease*
*| Ign file: ./ InRelease*
*| Ign file: ./ InRelease*
*| Ign file: ./ Release.gpg*
*| Ign file: ./ Release.gpg*
*| Ign file: ./ Release.gpg*
*| Get:1 file: ./ Release [16 B]*
*| Get:2 file: ./ Release [29 B]*
*| Get:3 file: ./ Release [11 B]*
*| Ign file: ./ Translation-en*
*| Ign file: ./ Translation-en*
*| Ign file: ./ Translation-en*
*| Reading package lists...*
*| Reading package lists...*
*| Building dependency tree...*
*| Reading state information...*
*| The following extra packages will be installed:*
*| eglibc-binary-localedata-en-us*
*| The following NEW packages will be installed:*
*| eglibc-binary-localedata-en-us locale-base-en-us*
*| 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.*
*| Need to get 0 B/327 kB of archives.*
*| After this operation, 0 B of additional disk space will be used.*
*| WARNING: The following packages cannot be authenticated!*
*| eglibc-binary-localedata-en-us locale-base-en-us*
*| Authentication warning overridden.*
*| dpkg: warning: overriding problem because --force enabled:*
*| package architecture (armel) does not match system (amd64)*
*| Selecting previously unselected package eglibc-binary-localedata-en-us.*
*| (Reading database ... 0 files and directories currently installed.)*
*| Unpacking eglibc-binary-localedata-en-us (from
.../eglibc-binary-localedata-en-us_2.17-r0_armel.deb) ...*
*| dpkg: warning: overriding problem because --force enabled:*
*| package architecture (armel) does not match system (amd64)*
*| Selecting previously unselected package locale-base-en-us.*
*| Unpacking locale-base-en-us (from
.../locale-base-en-us_2.17-r0_armel.deb) ...*
*| Reading package lists...*
*| Building dependency tree...*
*| Reading state information...*
*| The following extra packages will be installed:*
*| eglibc-binary-localedata-en-gb*
*| The following NEW packages will be installed:*
*| eglibc-binary-localedata-en-gb locale-base-en-gb*
*| 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.*
*| 2 not fully installed or removed.*
*| Need to get 0 B/327 kB of archives.*
*| After this operation, 0 B of additional disk space will be used.*
*| WARNING: The following packages cannot be authenticated!*
*| eglibc-binary-localedata-en-gb locale-base-en-gb*
*| Authentication warning overridden.*
*| dpkg: warning: overriding problem because --force enabled:*
*| package architecture (armel) does not match system (amd64)*
*| Selecting previously unselected package eglibc-binary-localedata-en-gb.*
*| (Reading database ... 18 files and directories currently installed.)*
*| Unpacking eglibc-binary-localedata-en-gb (from
.../eglibc-binary-localedata-en-gb_2.17-r0_armel.deb) ...*
*| dpkg: warning: overriding problem because --force enabled:*
*| package architecture (armel) does not match system (amd64)*
*| Selecting previously unselected package locale-base-en-gb.*
*| Unpacking locale-base-en-gb (from
.../locale-base-en-gb_2.17-r0_armel.deb) ...*
*| Reading package lists...*
*| Building dependency tree...*
*| Reading state information...*
*| Package bootstrapper is not available, but is referred to by another
package.*
*| This may mean that the package is missing, has been obsoleted, or*
*| is only available from another source*
*| *
*| E: Package 'bootstrapper' has no installation candidate*
*| E: Unable to locate package bootstrapper-bsd*
*| ERROR: Function failed: do_rootfs (log file is located at
/home/damarla/openYocto/poky/buildSmartCPU/tmp/work/smartcpu-untersberg-linux-gnueabi/rootfs-smartcpu/1.0-r0/temp/log.do_rootfs.30357)
*
*ERROR: Task 7
(/home/damarla/openYocto/poky/meta-skidata/recipes-smartcpu/images/
rootfs-smartcpu.bb, do_rootfs) failed with exit code '1'*
*NOTE: Tasks Summary: Attempted 5162 tasks of which 5160 didn't need to be
rerun and 1 failed.*
*No currently running tasks (5161 of 5163)*
*
*
*Summary: 1 task failed:*
* /home/damarla/openYocto/poky/meta-skidata/recipes-smartcpu/images/
rootfs-smartcpu.bb, do_rootfs*
*Summary: There was 1 ERROR message shown, returning a non-zero exit code.*

Where did I make the error. I created two packages here and I put those
packages in my rootfs...
Suggestions please,

Greets,
Satya


On Thu, Jun 20, 2013 at 12:09 PM, Paul Eggleton <
Post by DAMARLA Satya Swaroop
Post by DAMARLA Satya Swaroop
I have a .deb file which has to be installed. It installs properly on the
target image but I want to install it at the build itself by creating a
bitbake recipe.. Is it possible to install .deb files or not? If
possible,
Post by DAMARLA Satya Swaroop
please suggest me so that I can make it..
I think the bin_package class is designed explicitly to help with this. Have a
look at classes/bin_package.bbclass.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
Paul Eggleton
2013-06-25 15:16:08 UTC
Permalink
Post by DAMARLA Satya Swaroop
I am trying to install .deb file and the recipe is as follows... may I ask
you what is the mistake that is not allowing it to build it into the
rootfilesystem....
*UMMARY = "Bootstrapper from Skidata"*
*DESCRIPTION = "For the moment it just installs the .deb file"*
*LICENSE = "CLOSED"*
*
*
*SRC_URI[md5sum] = "7835334732d1704765e52168994b09a6"*
*SRC_URI[sha256sum] =
"11bda24a487da08ef6d3133cc0bf55862e6ae75891c7d08433341f2f3a0dc740"*
*
*
*
*
*SRC_URI =
"file:///home/damarla/openYocto/downloads/skidata-bootstraploader-1.0.0.14.d
eb" *
*
*
*inherit bin_package*
*
*
*INITSCRIPT_PACKAGES = "${PN}-bsd"*
*INITSCRIPT_NAME_${PN}-bsp = "bootstraploader"*
*INITSCRIPT_PARAMS_${PN}-bsp = "defaults 90"*
You have a mismatch here, "bsp" in the last two lines and "bsd" everywhere
else.
Post by DAMARLA Satya Swaroop
*PACKAGES =+ "${PN} ${PN}-bsd"*
*
*
*FILES_${PN}-bsd = "${sysconfdir}/init.d/bootstraploader"*
*FILES_${PN} = "${D}/usr/skidata/bootstraploader/*.sh
${D}/usr/skidata/bootstraploader/*.pm"*
You should not include ${D} in FILES values. Because of the invalid path the
desired files are not being picked up.

The reason you're likely getting an error at do_rootfs is that because of the
above, the package is empty and therefore is not produced, thus it can't be
found when it comes to installing it into the image.

Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
DAMARLA Satya Swaroop
2013-06-26 09:16:47 UTC
Permalink
Ok I did remove the stuff and I modified as you mentioned... I have two
aims here,

1. To start the bootstraper at the start of the boot, it means it has to be
in every runlevel and I am successfull in that.

2. To install a /opt directory which I am faling at..

I don't have any install errors but please tell me why the /opt directory
no more exists in the rootfs

S*UMMARY = "Bootstrapper from Skidata"*
*DESCRIPTION = "For the moment it just installs the .deb file"*
*LICENSE = "CLOSED"*
*
*
*SRC_URI[md5sum] = "7835334732d1704765e52168994b09a6"*
*SRC_URI[sha256sum] =
"11bda24a487da08ef6d3133cc0bf55862e6ae75891c7d08433341f2f3a0dc740"*
*
*
*
*
*SRC_URI =
"file:///home/damarla/openYocto/downloads/skidata-bootstraploader-1.0.0.14.deb"
*
*
*
*inherit bin_package pkgconfig update-rc.d*
*
*
*INITSCRIPT_PACKAGES = "${PN}"*
*INITSCRIPT_NAME_${PN} = "bootstraploader"*
*INITSCRIPT_PARAMS_${PN} = "defaults 85"*
*
*
*do_install() {*
*
*
* install -d ${D}${sysconfdir}/init.d/*
* install -m 0755 ${WORKDIR}/etc/init.d/bootstraploader
${D}${sysconfdir}/init.d/bootstraploader*
*
*
* install -d ${D}/opt/skidata/bootstraploader/*
* echo -e ${D}*
* for f in ${WORKDIR}/opt/skidata/bootstraploader/*.pm*
* do*
* install -m 0755 $f ${D}/opt/skidata/bootstraploader/*
* done*
*
*
* for ff in ${WORKDIR}/opt/skidata/bootstraploader/*.sh*
* do*
* install -m 0755 ${ff} ${D}/opt/skidata/bootstraploader/*
* done*


}
*
*
*FILES_${PN} = "${base_libdir}/udev ${systemd_unitdir}"*
*FILES_${PN} += "${sysconfdir}/init.d/bootstraploader"*
*FILES_${PN} += "${D}/opt/skidata/bootstraploader/*.sh
${D}/opt/skidata/bootstraploader/*.pm"*
*
*
Any reasons why its failing is deeply appreciated

Greets,
Satya


On Tue, Jun 25, 2013 at 5:16 PM, Paul Eggleton <
Post by DAMARLA Satya Swaroop
Post by DAMARLA Satya Swaroop
I am trying to install .deb file and the recipe is as follows... may I
ask
Post by DAMARLA Satya Swaroop
you what is the mistake that is not allowing it to build it into the
rootfilesystem....
*UMMARY = "Bootstrapper from Skidata"*
*DESCRIPTION = "For the moment it just installs the .deb file"*
*LICENSE = "CLOSED"*
*
*
*SRC_URI[md5sum] = "7835334732d1704765e52168994b09a6"*
*SRC_URI[sha256sum] =
"11bda24a487da08ef6d3133cc0bf55862e6ae75891c7d08433341f2f3a0dc740"*
*
*
*
*
*SRC_URI =
"file:///home/damarla/openYocto/downloads/skidata-bootstraploader-1.0.0.14.d
Post by DAMARLA Satya Swaroop
eb" *
*
*
*inherit bin_package*
*
*
*INITSCRIPT_PACKAGES = "${PN}-bsd"*
*INITSCRIPT_NAME_${PN}-bsp = "bootstraploader"*
*INITSCRIPT_PARAMS_${PN}-bsp = "defaults 90"*
You have a mismatch here, "bsp" in the last two lines and "bsd" everywhere
else.
Post by DAMARLA Satya Swaroop
*PACKAGES =+ "${PN} ${PN}-bsd"*
*
*
*FILES_${PN}-bsd = "${sysconfdir}/init.d/bootstraploader"*
*FILES_${PN} = "${D}/usr/skidata/bootstraploader/*.sh
${D}/usr/skidata/bootstraploader/*.pm"*
You should not include ${D} in FILES values. Because of the invalid path the
desired files are not being picked up.
The reason you're likely getting an error at do_rootfs is that because of the
above, the package is empty and therefore is not produced, thus it can't be
found when it comes to installing it into the image.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
Erik Botö
2013-06-26 11:16:16 UTC
Permalink
On Wed, Jun 26, 2013 at 11:16 AM, DAMARLA Satya Swaroop
Ok I did remove the stuff and I modified as you mentioned... I have two aims
here,
1. To start the bootstraper at the start of the boot, it means it has to be
in every runlevel and I am successfull in that.
2. To install a /opt directory which I am faling at..
I don't have any install errors but please tell me why the /opt directory no
more exists in the rootfs
SUMMARY = "Bootstrapper from Skidata"
DESCRIPTION = "For the moment it just installs the .deb file"
LICENSE = "CLOSED"
SRC_URI[md5sum] = "7835334732d1704765e52168994b09a6"
SRC_URI[sha256sum] =
"11bda24a487da08ef6d3133cc0bf55862e6ae75891c7d08433341f2f3a0dc740"
SRC_URI =
"file:///home/damarla/openYocto/downloads/skidata-bootstraploader-1.0.0.14.deb"
inherit bin_package pkgconfig update-rc.d
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME_${PN} = "bootstraploader"
INITSCRIPT_PARAMS_${PN} = "defaults 85"
do_install() {
install -d ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/etc/init.d/bootstraploader
${D}${sysconfdir}/init.d/bootstraploader
install -d ${D}/opt/skidata/bootstraploader/
echo -e ${D}
for f in ${WORKDIR}/opt/skidata/bootstraploader/*.pm
do
install -m 0755 $f ${D}/opt/skidata/bootstraploader/
done
for ff in ${WORKDIR}/opt/skidata/bootstraploader/*.sh
do
install -m 0755 ${ff} ${D}/opt/skidata/bootstraploader/
done
}
FILES_${PN} = "${base_libdir}/udev ${systemd_unitdir}"
FILES_${PN} += "${sysconfdir}/init.d/bootstraploader"
FILES_${PN} += "${D}/opt/skidata/bootstraploader/*.sh
${D}/opt/skidata/bootstraploader/*.pm"
Any reasons why its failing is deeply appreciated
You still have ${D} in FILES_${PN}, so the files in /opt is not
included in the package.

Cheers,
Erik Botö
Greets,
Satya
On Tue, Jun 25, 2013 at 5:16 PM, Paul Eggleton
Post by Paul Eggleton
Post by DAMARLA Satya Swaroop
I am trying to install .deb file and the recipe is as follows... may I ask
you what is the mistake that is not allowing it to build it into the
rootfilesystem....
*UMMARY = "Bootstrapper from Skidata"*
*DESCRIPTION = "For the moment it just installs the .deb file"*
*LICENSE = "CLOSED"*
*
*
*SRC_URI[md5sum] = "7835334732d1704765e52168994b09a6"*
*SRC_URI[sha256sum] =
"11bda24a487da08ef6d3133cc0bf55862e6ae75891c7d08433341f2f3a0dc740"*
*
*
*
*
*SRC_URI =
"file:///home/damarla/openYocto/downloads/skidata-bootstraploader-1.0.0.14.d
eb" *
*
*
*inherit bin_package*
*
*
*INITSCRIPT_PACKAGES = "${PN}-bsd"*
*INITSCRIPT_NAME_${PN}-bsp = "bootstraploader"*
*INITSCRIPT_PARAMS_${PN}-bsp = "defaults 90"*
You have a mismatch here, "bsp" in the last two lines and "bsd" everywhere
else.
Post by DAMARLA Satya Swaroop
*PACKAGES =+ "${PN} ${PN}-bsd"*
*
*
*FILES_${PN}-bsd = "${sysconfdir}/init.d/bootstraploader"*
*FILES_${PN} = "${D}/usr/skidata/bootstraploader/*.sh
${D}/usr/skidata/bootstraploader/*.pm"*
You should not include ${D} in FILES values. Because of the invalid path the
desired files are not being picked up.
The reason you're likely getting an error at do_rootfs is that because of the
above, the package is empty and therefore is not produced, thus it can't be
found when it comes to installing it into the image.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
_______________________________________________
yocto mailing list
https://lists.yoctoproject.org/listinfo/yocto
DAMARLA Satya Swaroop
2013-06-26 12:52:29 UTC
Permalink
Yes, I think something wrong happened to my eyes and now its working ..

Cheers,
Satya
Post by Erik Botö
On Wed, Jun 26, 2013 at 11:16 AM, DAMARLA Satya Swaroop
Post by DAMARLA Satya Swaroop
Ok I did remove the stuff and I modified as you mentioned... I have two
aims
Post by DAMARLA Satya Swaroop
here,
1. To start the bootstraper at the start of the boot, it means it has to
be
Post by DAMARLA Satya Swaroop
in every runlevel and I am successfull in that.
2. To install a /opt directory which I am faling at..
I don't have any install errors but please tell me why the /opt
directory no
Post by DAMARLA Satya Swaroop
more exists in the rootfs
SUMMARY = "Bootstrapper from Skidata"
DESCRIPTION = "For the moment it just installs the .deb file"
LICENSE = "CLOSED"
SRC_URI[md5sum] = "7835334732d1704765e52168994b09a6"
SRC_URI[sha256sum] =
"11bda24a487da08ef6d3133cc0bf55862e6ae75891c7d08433341f2f3a0dc740"
SRC_URI =
"file:///home/damarla/openYocto/downloads/skidata-bootstraploader-1.0.0.14.deb"
Post by DAMARLA Satya Swaroop
inherit bin_package pkgconfig update-rc.d
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME_${PN} = "bootstraploader"
INITSCRIPT_PARAMS_${PN} = "defaults 85"
do_install() {
install -d ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/etc/init.d/bootstraploader
${D}${sysconfdir}/init.d/bootstraploader
install -d ${D}/opt/skidata/bootstraploader/
echo -e ${D}
for f in ${WORKDIR}/opt/skidata/bootstraploader/*.pm
do
install -m 0755 $f ${D}/opt/skidata/bootstraploader/
done
for ff in ${WORKDIR}/opt/skidata/bootstraploader/*.sh
do
install -m 0755 ${ff} ${D}/opt/skidata/bootstraploader/
done
}
FILES_${PN} = "${base_libdir}/udev ${systemd_unitdir}"
FILES_${PN} += "${sysconfdir}/init.d/bootstraploader"
FILES_${PN} += "${D}/opt/skidata/bootstraploader/*.sh
${D}/opt/skidata/bootstraploader/*.pm"
Any reasons why its failing is deeply appreciated
You still have ${D} in FILES_${PN}, so the files in /opt is not
included in the package.
Cheers,
Erik Botö
Post by DAMARLA Satya Swaroop
Greets,
Satya
On Tue, Jun 25, 2013 at 5:16 PM, Paul Eggleton
Post by Paul Eggleton
Post by DAMARLA Satya Swaroop
I am trying to install .deb file and the recipe is as follows... may I ask
you what is the mistake that is not allowing it to build it into the
rootfilesystem....
*UMMARY = "Bootstrapper from Skidata"*
*DESCRIPTION = "For the moment it just installs the .deb file"*
*LICENSE = "CLOSED"*
*
*
*SRC_URI[md5sum] = "7835334732d1704765e52168994b09a6"*
*SRC_URI[sha256sum] =
"11bda24a487da08ef6d3133cc0bf55862e6ae75891c7d08433341f2f3a0dc740"*
*
*
*
*
*SRC_URI =
"file:///home/damarla/openYocto/downloads/skidata-bootstraploader-1.0.0.14.d
Post by DAMARLA Satya Swaroop
Post by Paul Eggleton
Post by DAMARLA Satya Swaroop
eb" *
*
*
*inherit bin_package*
*
*
*INITSCRIPT_PACKAGES = "${PN}-bsd"*
*INITSCRIPT_NAME_${PN}-bsp = "bootstraploader"*
*INITSCRIPT_PARAMS_${PN}-bsp = "defaults 90"*
You have a mismatch here, "bsp" in the last two lines and "bsd"
everywhere
Post by DAMARLA Satya Swaroop
Post by Paul Eggleton
else.
Post by DAMARLA Satya Swaroop
*PACKAGES =+ "${PN} ${PN}-bsd"*
*
*
*FILES_${PN}-bsd = "${sysconfdir}/init.d/bootstraploader"*
*FILES_${PN} = "${D}/usr/skidata/bootstraploader/*.sh
${D}/usr/skidata/bootstraploader/*.pm"*
You should not include ${D} in FILES values. Because of the invalid path the
desired files are not being picked up.
The reason you're likely getting an error at do_rootfs is that because
of
Post by DAMARLA Satya Swaroop
Post by Paul Eggleton
the
above, the package is empty and therefore is not produced, thus it can't be
found when it comes to installing it into the image.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
_______________________________________________
yocto mailing list
https://lists.yoctoproject.org/listinfo/yocto
Loading...