mirror of
https://git.yoctoproject.org/poky
synced 2026-04-07 23:02:22 +02:00
package_rpm.bbclass: do not strip multilib prefixes from package names, do not add multilib prefix to package arch
This is done for reasons I cannot establish, and greatly complicates the code that installs packages into rootfs. (From OE-Core rev: d9ea9003677d195f64eb4b3202e1c5d37d21b330) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
778ce1b8f0
commit
44e229c995
@@ -101,27 +101,6 @@ python write_specfile () {
|
||||
os.chown(f, 0, 0)
|
||||
spec_preamble_top.append('Source%s: %s' % (source_number, source))
|
||||
source_number += 1
|
||||
# We need a simple way to remove the MLPREFIX from the package name,
|
||||
# and dependency information...
|
||||
def strip_multilib(name, d):
|
||||
multilibs = d.getVar('MULTILIBS') or ""
|
||||
for ext in multilibs.split():
|
||||
eext = ext.split(':')
|
||||
if len(eext) > 1 and eext[0] == 'multilib' and name and name.find(eext[1] + '-') >= 0:
|
||||
name = "".join(name.split(eext[1] + '-'))
|
||||
return name
|
||||
|
||||
def strip_multilib_deps(deps, d):
|
||||
depends = bb.utils.explode_dep_versions2(deps or "")
|
||||
newdeps = {}
|
||||
for dep in depends:
|
||||
newdeps[strip_multilib(dep, d)] = depends[dep]
|
||||
return bb.utils.join_deps(newdeps)
|
||||
|
||||
# ml = d.getVar("MLPREFIX")
|
||||
# if ml and name and len(ml) != 0 and name.find(ml) == 0:
|
||||
# return ml.join(name.split(ml, 1)[1:])
|
||||
# return name
|
||||
|
||||
# In RPM, dependencies are of the format: pkg <>= Epoch:Version-Release
|
||||
# This format is similar to OE, however there are restrictions on the
|
||||
@@ -283,7 +262,7 @@ python write_specfile () {
|
||||
bb.fatal("No OUTSPECFILE")
|
||||
|
||||
# Construct the SPEC file...
|
||||
srcname = strip_multilib(d.getVar('PN'), d)
|
||||
srcname = d.getVar('PN')
|
||||
srcsummary = (d.getVar('SUMMARY') or d.getVar('DESCRIPTION') or ".")
|
||||
srcversion = d.getVar('PKGV').replace('-', '+')
|
||||
srcrelease = d.getVar('PKGR')
|
||||
@@ -295,7 +274,7 @@ python write_specfile () {
|
||||
srcdescription = d.getVar('DESCRIPTION') or "."
|
||||
srccustomtagschunk = get_package_additional_metadata("rpm", d)
|
||||
|
||||
srcdepends = strip_multilib_deps(d.getVar('DEPENDS'), d)
|
||||
srcdepends = d.getVar('DEPENDS')
|
||||
srcrdepends = []
|
||||
srcrrecommends = []
|
||||
srcrsuggests = []
|
||||
@@ -340,7 +319,7 @@ python write_specfile () {
|
||||
if dirfiles is not None:
|
||||
dirfiles = dirfiles.split()
|
||||
|
||||
splitname = strip_multilib(pkgname, d)
|
||||
splitname = pkgname
|
||||
|
||||
splitsummary = (localdata.getVar('SUMMARY') or localdata.getVar('DESCRIPTION') or ".")
|
||||
splitversion = (localdata.getVar('PKGV') or "").replace('-', '+')
|
||||
@@ -361,12 +340,12 @@ python write_specfile () {
|
||||
# Map the dependencies into their final form
|
||||
mapping_rename_hook(localdata)
|
||||
|
||||
splitrdepends = strip_multilib_deps(localdata.getVar('RDEPENDS'), d)
|
||||
splitrrecommends = strip_multilib_deps(localdata.getVar('RRECOMMENDS'), d)
|
||||
splitrsuggests = strip_multilib_deps(localdata.getVar('RSUGGESTS'), d)
|
||||
splitrprovides = strip_multilib_deps(localdata.getVar('RPROVIDES'), d)
|
||||
splitrreplaces = strip_multilib_deps(localdata.getVar('RREPLACES'), d)
|
||||
splitrconflicts = strip_multilib_deps(localdata.getVar('RCONFLICTS'), d)
|
||||
splitrdepends = localdata.getVar('RDEPENDS')
|
||||
splitrrecommends = localdata.getVar('RRECOMMENDS')
|
||||
splitrsuggests = localdata.getVar('RSUGGESTS')
|
||||
splitrprovides = localdata.getVar('RPROVIDES')
|
||||
splitrreplaces = localdata.getVar('RREPLACES')
|
||||
splitrconflicts = localdata.getVar('RCONFLICTS')
|
||||
splitrobsoletes = []
|
||||
|
||||
splitrpreinst = localdata.getVar('pkg_preinst')
|
||||
@@ -640,14 +619,6 @@ python write_specfile () {
|
||||
write_specfile[vardepsexclude] = "OVERRIDES"
|
||||
|
||||
python do_package_rpm () {
|
||||
# We need a simple way to remove the MLPREFIX from the package name,
|
||||
# and dependency information...
|
||||
def strip_multilib(name, d):
|
||||
ml = d.getVar("MLPREFIX")
|
||||
if ml and name and len(ml) != 0 and name.find(ml) >= 0:
|
||||
return "".join(name.split(ml))
|
||||
return name
|
||||
|
||||
workdir = d.getVar('WORKDIR')
|
||||
tmpdir = d.getVar('TMPDIR')
|
||||
pkgd = d.getVar('PKGD')
|
||||
@@ -665,7 +636,7 @@ python do_package_rpm () {
|
||||
# If the spec file already exist, and has not been stored into
|
||||
# pseudo's files.db, it maybe cause rpmbuild src.rpm fail,
|
||||
# so remove it before doing rpmbuild src.rpm.
|
||||
srcname = strip_multilib(d.getVar('PN'), d)
|
||||
srcname = d.getVar('PN')
|
||||
outspecfile = workdir + "/" + srcname + ".spec"
|
||||
if os.path.isfile(outspecfile):
|
||||
os.remove(outspecfile)
|
||||
@@ -684,11 +655,7 @@ python do_package_rpm () {
|
||||
# Let's not fight against this.
|
||||
package_arch = (d.getVar('PACKAGE_ARCH') or "").replace("-", "_").replace("all", "noarch")
|
||||
sdkpkgsuffix = (d.getVar('SDKPKGSUFFIX') or "nativesdk").replace("-", "_")
|
||||
if package_arch not in "all any noarch".split() and not package_arch.endswith(sdkpkgsuffix):
|
||||
ml_prefix = (d.getVar('MLPREFIX') or "").replace("-", "_")
|
||||
d.setVar('PACKAGE_ARCH_EXTEND', ml_prefix + package_arch)
|
||||
else:
|
||||
d.setVar('PACKAGE_ARCH_EXTEND', package_arch)
|
||||
d.setVar('PACKAGE_ARCH_EXTEND', package_arch)
|
||||
pkgwritedir = d.expand('${PKGWRITEDIRRPM}/${PACKAGE_ARCH_EXTEND}')
|
||||
d.setVar('RPM_PKGWRITEDIR', pkgwritedir)
|
||||
bb.debug(1, 'PKGWRITEDIR: %s' % d.getVar('RPM_PKGWRITEDIR'))
|
||||
|
||||
Reference in New Issue
Block a user