Add lc15-firmware package for sysmoBTS 2100 support
This commit is contained in:
parent
b5c1bfd9ba
commit
ff217ad58c
|
@ -0,0 +1,155 @@
|
||||||
|
# gitver-pkg.bbclass
|
||||||
|
#
|
||||||
|
# Based on gitpkgv.bbclass from meta-openembedded
|
||||||
|
|
||||||
|
PKGGITH = "${@get_pkg_gith(d, '${PN}')}"
|
||||||
|
PKGGITN = "${@get_pkg_gitn(d, '${PN}')}"
|
||||||
|
PKGGITV = "${@get_pkg_gitv(d, '${PN}')}"
|
||||||
|
|
||||||
|
def gitpkgv_drop_tag_prefix(version):
|
||||||
|
import re
|
||||||
|
if re.match("v\d", version):
|
||||||
|
return version[1:]
|
||||||
|
else:
|
||||||
|
return version
|
||||||
|
|
||||||
|
def get_pkg_gitv(d, pn):
|
||||||
|
import os
|
||||||
|
import bb
|
||||||
|
from pipes import quote
|
||||||
|
|
||||||
|
src_uri = d.getVar('SRC_URI', 1).split()
|
||||||
|
fetcher = bb.fetch2.Fetch(src_uri, d)
|
||||||
|
ud = fetcher.ud
|
||||||
|
|
||||||
|
ver = "0.0-0"
|
||||||
|
|
||||||
|
for url in ud.values():
|
||||||
|
if url.type == 'git' or url.type == 'gitsm':
|
||||||
|
for name, rev in url.revisions.items():
|
||||||
|
if not os.path.exists(url.localpath):
|
||||||
|
return None
|
||||||
|
|
||||||
|
vars = { 'repodir' : quote(url.localpath),
|
||||||
|
'rev' : quote(rev) }
|
||||||
|
|
||||||
|
# Verify of the hash is present
|
||||||
|
try:
|
||||||
|
bb.fetch2.runfetchcmd(
|
||||||
|
"cd %(repodir)s && "
|
||||||
|
"git describe %(rev)s --always 2>/dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
bb.fetch2.runfetchcmd(
|
||||||
|
"cd %(repodir)s && git fetch 2>/dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
# Try to get a version using git describe
|
||||||
|
try:
|
||||||
|
output = bb.fetch2.runfetchcmd(
|
||||||
|
"cd %(repodir)s && "
|
||||||
|
"git describe %(rev)s --long 2>/dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
ver = gitpkgv_drop_tag_prefix(output)
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
try:
|
||||||
|
commits = bb.fetch2.runfetchcmd(
|
||||||
|
"cd %(repodir)s && "
|
||||||
|
"git rev-list %(rev)s --count 2> /dev/null " % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
if commits == "":
|
||||||
|
commits = "0"
|
||||||
|
|
||||||
|
rev = bb.fetch2.get_srcrev(d).split('+')[1]
|
||||||
|
|
||||||
|
ver = "0.0-%s-g%s" % (commits, rev[:7])
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
return ver
|
||||||
|
|
||||||
|
def get_pkg_gitn(d, pn):
|
||||||
|
import os
|
||||||
|
import bb
|
||||||
|
from pipes import quote
|
||||||
|
|
||||||
|
src_uri = d.getVar('SRC_URI', 1).split()
|
||||||
|
fetcher = bb.fetch2.Fetch(src_uri, d)
|
||||||
|
ud = fetcher.ud
|
||||||
|
|
||||||
|
for url in ud.values():
|
||||||
|
if url.type == 'git' or url.type == 'gitsm':
|
||||||
|
for name, rev in url.revisions.items():
|
||||||
|
if not os.path.exists(url.localpath):
|
||||||
|
return None
|
||||||
|
|
||||||
|
vars = { 'repodir' : quote(url.localpath),
|
||||||
|
'rev' : quote(rev) }
|
||||||
|
|
||||||
|
# Verify of the hash is present
|
||||||
|
try:
|
||||||
|
bb.fetch2.runfetchcmd(
|
||||||
|
"cd %(repodir)s && "
|
||||||
|
"git describe %(rev)s --always 2>/dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
bb.fetch2.runfetchcmd(
|
||||||
|
"cd %(repodir)s && git fetch 2>/dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
|
||||||
|
try:
|
||||||
|
tag = bb.fetch2.runfetchcmd(
|
||||||
|
"cd %(repodir)s && "
|
||||||
|
"git describe --abbrev=0 %(rev)s 2>/dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
vars = { 'repodir' : quote(url.localpath),
|
||||||
|
'rev' : quote(rev),
|
||||||
|
'tag' : quote(tag) }
|
||||||
|
|
||||||
|
commits = bb.fetch2.runfetchcmd(
|
||||||
|
"cd %(repodir)s && "
|
||||||
|
"git rev-list %(rev)s ^%(tag)s --count 2> /dev/null " % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
return commits
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
commits = bb.fetch2.runfetchcmd(
|
||||||
|
"cd %(repodir)s && "
|
||||||
|
"git rev-list %(rev)s --count 2> /dev/null " % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
if commits == "":
|
||||||
|
commits = "0"
|
||||||
|
|
||||||
|
return commits
|
||||||
|
|
||||||
|
return '0'
|
||||||
|
|
||||||
|
|
||||||
|
def get_pkg_gith(d, pn):
|
||||||
|
import os
|
||||||
|
import bb
|
||||||
|
from pipes import quote
|
||||||
|
|
||||||
|
src_uri = d.getVar('SRC_URI', 1).split()
|
||||||
|
fetcher = bb.fetch2.Fetch(src_uri, d)
|
||||||
|
ud = fetcher.ud
|
||||||
|
|
||||||
|
for url in ud.values():
|
||||||
|
if url.type == 'git' or url.type == 'gitsm':
|
||||||
|
for name, rev in url.revisions.items():
|
||||||
|
if not os.path.exists(url.localpath):
|
||||||
|
return None
|
||||||
|
else:
|
||||||
|
return rev
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
|
@ -0,0 +1,139 @@
|
||||||
|
# gitver-repo.bbclass
|
||||||
|
#
|
||||||
|
# Based on gitpkgv.bbclass from meta-openembedded
|
||||||
|
|
||||||
|
REPODIR ?= "${THISDIR}"
|
||||||
|
|
||||||
|
REPOGITH = "${@get_repo_gith(d, '${REPODIR}')}"
|
||||||
|
REPOGITN = "${@get_repo_gitn(d, '${REPODIR}')}"
|
||||||
|
REPOGITV = "${@get_repo_gitv(d, '${REPODIR}')}"
|
||||||
|
REPOGITT = "${@get_repo_gitt(d, '${REPODIR}')}"
|
||||||
|
REPOGITFN = "${@get_repo_gitfn(d, '${REPODIR}', '${REPOFILE}')}"
|
||||||
|
|
||||||
|
def gitver_repo_drop_tag_prefix(version):
|
||||||
|
import re
|
||||||
|
if re.match("v\d", version):
|
||||||
|
return version[1:]
|
||||||
|
else:
|
||||||
|
return version
|
||||||
|
|
||||||
|
def get_repo_gitv(d, repodir):
|
||||||
|
import os
|
||||||
|
import bb
|
||||||
|
from pipes import quote
|
||||||
|
|
||||||
|
vars = { 'repodir' : quote(repodir) }
|
||||||
|
|
||||||
|
try:
|
||||||
|
output = bb.fetch2.runfetchcmd(
|
||||||
|
"git -C %(repodir)s describe --long 2>/dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
ver = gitver_repo_drop_tag_prefix(output)
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
return None
|
||||||
|
|
||||||
|
return ver
|
||||||
|
|
||||||
|
def get_repo_gitn(d, repodir):
|
||||||
|
import os
|
||||||
|
import bb
|
||||||
|
from pipes import quote
|
||||||
|
|
||||||
|
vars = { 'repodir' : quote(repodir) }
|
||||||
|
|
||||||
|
try:
|
||||||
|
|
||||||
|
tag = bb.fetch2.runfetchcmd(
|
||||||
|
"git -C %(repodir)s describe --abbrev=0 2>/dev/null" % vars,
|
||||||
|
d, quiet=False).strip()
|
||||||
|
|
||||||
|
vars = { 'repodir' : quote(repodir),
|
||||||
|
'tag' : quote(tag) }
|
||||||
|
|
||||||
|
commits = bb.fetch2.runfetchcmd(
|
||||||
|
"git -C %(repodir)s rev-list %(tag)s.. --count 2> /dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
return commits
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
commits = bb.fetch2.runfetchcmd(
|
||||||
|
"git -C %(repodir)s rev-list --count HEAD 2>/dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
if commits == "":
|
||||||
|
commits = "0"
|
||||||
|
|
||||||
|
return commits
|
||||||
|
|
||||||
|
def get_repo_gitt(d, repodir):
|
||||||
|
import os
|
||||||
|
import bb
|
||||||
|
from pipes import quote
|
||||||
|
|
||||||
|
vars = { 'repodir' : quote(repodir) }
|
||||||
|
|
||||||
|
try:
|
||||||
|
tag = bb.fetch2.runfetchcmd(
|
||||||
|
"git -C %(repodir)s describe --abbrev=0 2>/dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
return tag
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
return None
|
||||||
|
|
||||||
|
def get_repo_gith(d, repodir):
|
||||||
|
import os
|
||||||
|
import bb
|
||||||
|
from pipes import quote
|
||||||
|
|
||||||
|
vars = { 'repodir' : quote(repodir) }
|
||||||
|
|
||||||
|
try:
|
||||||
|
hash = bb.fetch2.runfetchcmd(
|
||||||
|
"git -C %(repodir)s rev-parse HEAD 2>/dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
return hash
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
return None
|
||||||
|
|
||||||
|
def get_repo_gitfn(d, repodir, repofile):
|
||||||
|
import os
|
||||||
|
import bb
|
||||||
|
from pipes import quote
|
||||||
|
|
||||||
|
vars = { 'repodir' : quote(repodir),
|
||||||
|
'repofile' : quote(repofile) }
|
||||||
|
|
||||||
|
try:
|
||||||
|
|
||||||
|
tag = bb.fetch2.runfetchcmd(
|
||||||
|
"git -C %(repodir)s describe --abbrev=0 2>/dev/null" % vars,
|
||||||
|
d, quiet=False).strip()
|
||||||
|
|
||||||
|
vars = { 'repodir' : quote(repodir),
|
||||||
|
'repofile' : quote(repofile),
|
||||||
|
'tag' : quote(tag) }
|
||||||
|
|
||||||
|
commits = bb.fetch2.runfetchcmd(
|
||||||
|
"git -C %(repodir)s rev-list --count %(tag)s.. %(repofile)s 2> /dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
return commits
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
commits = bb.fetch2.runfetchcmd(
|
||||||
|
"git -C %(repodir)s rev-list --count HEAD %(repofile)s 2>/dev/null" % vars,
|
||||||
|
d, quiet=True).strip()
|
||||||
|
|
||||||
|
if commits == "":
|
||||||
|
commits = "0"
|
||||||
|
|
||||||
|
return commits
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
SUMMARY = "Firmware files for Nuran Wireless Litecell 1.5 Mainboard"
|
||||||
|
LICENSE = "CLOSED"
|
||||||
|
|
||||||
|
NRW_LC15_MIRROR ??= "git@gitlab.com/nrw_litecell15"
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
inherit gitver-pkg gitver-repo
|
||||||
|
|
||||||
|
REPODIR = "${THISDIR}"
|
||||||
|
REPOFILE = "lc15-firmware_git.bb"
|
||||||
|
PR := "r${REPOGITFN}"
|
||||||
|
|
||||||
|
PV = "git${SRCPV}"
|
||||||
|
PKGV = "${PKGGITV}"
|
||||||
|
|
||||||
|
DEV_BRANCH = "${@ 'nrw/litecell15-next' if d.getVar('NRW_BSP_DEVEL', False) == "next" else 'nrw/litecell15'}"
|
||||||
|
DEV_SRCREV = "${AUTOREV}"
|
||||||
|
DEV_SRCURI := "git://${NRW_LC15_MIRROR}/litecell15-fw.git;protocol=ssh;branch=${DEV_BRANCH}"
|
||||||
|
|
||||||
|
REL_BRANCH = "nrw/litecell15"
|
||||||
|
REL_SRCREV = "68607b5c33a02883c50f9408f423234747407d99"
|
||||||
|
REL_SRCURI := "git://${NRW_LC15_MIRROR}/litecell15-fw.git;protocol=ssh;branch=${REL_BRANCH}"
|
||||||
|
|
||||||
|
BRANCH = "${@ '${DEV_BRANCH}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_BRANCH}'}"
|
||||||
|
SRCREV = "${@ '${DEV_SRCREV}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_SRCREV}'}"
|
||||||
|
SRC_URI = "${@ '${DEV_SRCURI}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_SRCURI}'}"
|
||||||
|
|
||||||
|
addtask showversion after do_compile before do_install
|
||||||
|
do_showversion() {
|
||||||
|
bbplain "${PN}: ${PKGGITV} => ${BRANCH}:${PKGGITH}"
|
||||||
|
}
|
||||||
|
|
||||||
|
inherit allarch
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}${includedir}/nrw
|
||||||
|
install -d ${D}${includedir}/nrw/litecell15
|
||||||
|
install -m 0644 ${S}/inc/nrw/litecell15/* ${D}${includedir}/nrw/litecell15
|
||||||
|
|
||||||
|
install -d ${D}${base_libdir}/firmware
|
||||||
|
install -m 0644 ${S}/bin/* ${D}${base_libdir}/firmware
|
||||||
|
}
|
||||||
|
|
||||||
|
INSANE_SKIP_${PN} = "arch"
|
||||||
|
|
||||||
|
FILES_${PN} = "${base_libdir}/firmware/*"
|
||||||
|
FILES_${PN}-dev = "${includedir}/nrw/litecell15/*"
|
Loading…
Reference in New Issue