0

I have created a private GitLab repo to house my custom application to be built into my linux image. I add the custom layer as so:

bitbake-layers create-layer ../sources/meta-simpledaemon
bitbake-layers add-layer ../sources/meta-simpledaemon
mkdir ../sources/meta-simpledaemon/recipes-example/simpledaemon
recipetool create -V 1.0 git@gitlab.com:MichaelBMiner/simpledaemon.git -o ../sources/meta-simpledaemon/recipes-example/simpledaemon/

The code is very simple, it has a .c, .h, .bb and .service files. I have set it up to use AUTOREV so bitbake will always fetch the latest version of the master branch.

When I view what is pulled into my project I see my simpledaemon_git.bb as

# Recipe created by recipetool
# This is the basis of a recipe and may need further editing in order to be fully functional.
# (Feel free to remove these comments when editing.)

# WARNING: the following LICENSE and LIC_FILES_CHKSUM values are best guesses - it is
# your responsibility to verify that the values are complete and correct.
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ca119cf6dcda0f0883a416a3e7f94cc2"

SRC_URI = "git://git@gitlab.com/MichaelBMiner/simpledaemon.git;protocol=ssh"

# Modify these as desired
PV = "1.0+git${SRCPV}"
SRCREV = "db915ce184233fa0cd039dca441202fd8b4677e4"

S = "${WORKDIR}/git"

# NOTE: if this software is not capable of being built in a separate build directory
# from the source, you should replace autotools with autotools-brokensep in the
# inherit line
inherit autotools

# Specify any options you want to pass to the configure script using EXTRA_OECONF:
EXTRA_OECONF = ""

My simpledaemon_git.bb on GitLab is as follows

LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ca119cf6dcda0f0883a416a3e7f94cc2"

SRC_URI = "git://gitlab.com/MichaelBMiner/simpledaemon.git;protocol=https;branch=master"


PV = "1.0+git${SRCPV}"
SRCREV = "${AUTOREV}"

inherit systemd autotools

S = "${WORKDIR}/git"

SYSTEMD_SERVICE_${PN} = "simpledaemon.service"

do_install_append () {
    install -d ${D}${systemd_system_unitdir}
    install -m 0644 ${S}/simpledaemon.service ${D}${systemd_system_unitdir}
    sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/simpledaemon.service
}

MACHINE_FEATURES_remove  = " alsa "
MACHINE_FEATURES_remove  = " bluetooth "
MACHINE_FEATURES_remove  = " keyboard "
MACHINE_FEATURES_remove  = " pci "
MACHINE_FEATURES_remove  = " phone "
MACHINE_FEATURES_remove  = " qvga "
MACHINE_FEATURES_remove  = " screen "
MACHINE_FEATURES_remove  = " touchscreen "

DISTRO_FEATURES += " wifi "
DISTRO_FEATURES_remove  = " alsa "
DISTRO_FEATURES_remove  = " api-documentation "
DISTRO_FEATURES_remove  = " bluetooth "
DISTRO_FEATURES_remove  = " directfb "
DISTRO_FEATURES_remove  = " keyboard "
DISTRO_FEATURES_remove  = " opengl "
DISTRO_FEATURES_remove  = " pci "
DISTRO_FEATURES_remove  = " ppp "
DISTRO_FEATURES_remove  = " wayland "
DISTRO_FEATURES_remove  = " x11 "

My question is, is bitbake really pulling my repo from GitLab? Why are the two different? Is there a way to make them the same?

I previously asked this question and got a great answer. I implemented it and got a service running ASAP. How can I source control my application and have it pull/build correctly?

Michael
  • 399
  • 2
  • 17
  • @justinsg I was wondering if you had any insights to this. – Michael Feb 03 '22 at 22:22
  • The second recipe seams okay, but why you are setting MACHINE_FEATURES and DISTRO_FEATURES in the recipe ? you should set them in a `.conf` file, also if your repo is private the second recipe will fail because it fetches using `https` protocol, so adding your SSH key to gitlab and using the `ssh` protocol is SRC_URI is the correct way. – Talel BELHADJSALEM Feb 06 '22 at 07:59
  • That is a mistake that got committed. These files are very different now. I still cannot figure out why when I pull this repo two to bb files are not the same. – Michael Feb 08 '22 at 20:21

0 Answers0