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?