Skip to content

qps615-dlkm: fix devtool build directory and package version - #3163

Open
paddy-chiu wants to merge 2 commits into
qualcomm-linux:masterfrom
paddy-chiu:master
Open

paddy-chiu wants to merge 2 commits into
qualcomm-linux:masterfrom
paddy-chiu:master

Conversation

@paddy-chiu

Copy link
Copy Markdown

When using devtool, externalsrc defaults B to a separate work directory, but the driver Makefile is located under drivers/net/ethernet/toshiba/tc956x. Set EXTERNALSRC_BUILD to use the correct directory.

externalsrc also removes the Git URI from SRC_URI, causing PKGV to remain 6.0.3+git instead of the normal 6.0.3+git0+. Align PKGV for devtool builds with regular builds to prevent buildhistory package-version QA failures.

@paddy-chiu

Copy link
Copy Markdown
Author

Without EXTERNALSRC_BUILD, we will face "no makefile found" (log.do_compile.326282.txt) when running devtool build qps615-dlkm
Without PKGV, we might face "ERROR: QA Issue: Package version" (log.do_packagedata.387258.txt) when running devtool build qps615-dlkm since the package version will become 6.0.3+git (PV) without commit ID.

@quaresmajose

Copy link
Copy Markdown
Member

Can you please try the following? I think it does the same thing, if I understand correctly.

--- a/recipes-kernel/qps615-module/qps615-dlkm_git.bb
+++ b/recipes-kernel/qps615-module/qps615-dlkm_git.bb
@@ -13,6 +13,17 @@ SRC_URI = "git://github.com/qualcomm-linux/TC9564_Host_Driver.git;protocol=https
 
 PV = "6.0.3+git"
 
+def qps615_pkgv_suffix(d):
+    import bb.fetch
+
+    data = d.createCopy()
+    data.setVar("SRC_URI", d.getVar("SRC_URI"))
+    return bb.fetch.get_pkgv_string(data)
+
+PKGV .= "${@'' if not d.getVar('EXTERNALSRC') else qps615_pkgv_suffix(d)}"
+
+EXTERNALSRC_BUILD = "${EXTERNALSRC}/drivers/net/ethernet/toshiba/tc956x"
+
 B = "${S}/drivers/net/ethernet/toshiba/tc956x"
 
 # The original Makefile uses an "ifeq ($(pf), 1)" check to pick the default config.

Please wrap the text at ~70 characters in commit message.

# so devtool package versions match versions from the regular fetch/build path.
QPS615_PKGREV = "${@qps615_pkgv_suffix(d)}"
PKGV = "${@d.getVar('PV') + d.getVar('QPS615_PKGREV') if d.getVar('EXTERNALSRC') else d.getVar('PV')}"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Above changes should be separated on a different commit.

Also, is this really qps615-dlkm specific? I think this is just an oe-core issue.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, it llok like an oe-core issue of the oe-core/meta/classes/externalsrc.bbclass. I will implement this change on the bbclasse and will send it to the list. So have this in separete commit and we can revert when it was fixed.

@paddy-chiu paddy-chiu Sep 21, 2026 •

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Ricardo and Jose,
Thanks for review.
I split it to commit 2425bd0afb15ddae5504b8da12a00695db8b5f32.
We need to copy SRC_URI to EXTERNALSRC_ORIG_SRC_URI before qps615_pkgv_suffix called since SRC_URI will be overridden in externalsrc.bbclass for devtool build.

Actually, I have tested a potential fix in oe-core in similar way and it can fix this devtool PKGV issue (commit 459d4c1081d7ee0b589a5303ce14505af707ffce).

After fixing, PV and PKGV for qps615-dlkm are shown as below with devtool build:
PV: 6.0.3+git
PKGV: 6.0.3+git0+2cbd7b9ddf

Thanks,
Paddy

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to copy SRC_URI to EXTERNALSRC_ORIG_SRC_URI before qps615_pkgv_suffix called since SRC_URI will be overridden in externalsrc.bbclass for devtool build.

Got it

Actually, I have tested a potential fix in oe-core in similar way and it can fix this devtool PKGV issue (commit 459d4c1081d7ee0b589a5303ce14505af707ffce).

Please send it to the oe-core mailing list.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Jose,
Thanks for your suggestion.
I sent the oe-core mailing list for reviewing the oe-core PKGV change.

Best Regards,
Paddy

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Richard didn't really like this approach; could you reply to him so you can find a better solution?

Comment thread recipes-kernel/qps615-module/qps615-dlkm_git.bb
@paddy-chiu
paddy-chiu force-pushed the master branch 2 times, most recently from 7e18919 to b47acfc Compare September 21, 2026 08:48
Comment thread recipes-kernel/qps615-module/qps615-dlkm_git.bb Outdated
@quaresmajose

Copy link
Copy Markdown
Member

Please use about 72 chars per line on the commit message.

Paddy Chiu and others added 2 commits September 29, 2026 01:43
When using devtool, externalsrc defaults B to a separate work
directory, but the driver Makefile is located under
drivers/net/ethernet/toshiba/tc956x. Set EXTERNALSRC_BUILD to use the
correct directory.

Signed-off-by: Paddy Chiu <pohuchiu@qti.qualcomm.com>
externalsrc also removes the Git URI from SRC_URI, causing PKGV to
remain 6.0.3+git instead of the normal 6.0.3+git0+<SRCREV>. Align
PKGV for devtool builds with regular builds to prevent buildhistory
package-version QA failures.

Signed-off-by: Paddy Chiu <paddy.chiu@oss.qualcomm.com>
@paddy-chiu

Copy link
Copy Markdown
Author

Please use about 72 chars per line on the commit message.

Done. Thanks for comment.

# so devtool package versions match versions from the regular fetch/build path.
QPS615_PKGREV = "${@qps615_pkgv_suffix(d)}"
PKGV = "${@d.getVar('PV') + d.getVar('QPS615_PKGREV') if d.getVar('EXTERNALSRC') else d.getVar('PV')}"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Richard didn't really like this approach; could you reply to him so you can find a better solution?

@github-actions

Copy link
Copy Markdown

Test run workflow

Test jobs for commit 2425bd0

qcom-distro_linux-qcom-6.18
Pass: 7 | Fail: 1 | Total: 8
nodistro
Pass: 10 | Fail: 0 | Total: 10
qcom-distro
Pass: 335 | Fail: 9 | Total: 367

@test-reporting-app

Copy link
Copy Markdown

Test Results

   81 files    436 suites   5h 58m 2s ⏱️
  200 tests   183 ✅  2 💤 15 ❌
2 838 runs  2 794 ✅ 23 💤 21 ❌

For more details on these failures, see this check.

Results for commit 2425bd0.

@qcomlnxci

Copy link
Copy Markdown

Test Coral run workflow

Test jobs for commit 2425bd0

  • qcomdistro: multimedia image
    Pass: 4 | Fail: 0 | Total: 4
  • qcomdistro: multimedia image-prop
    Pass: 29 | Fail: 0 | Others: 3 | Total: 32

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants