Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

semver reporting in image list is not consistent #142

Open
sterlinghughes opened this issue Mar 6, 2018 · 2 comments
Open

semver reporting in image list is not consistent #142

sterlinghughes opened this issue Mar 6, 2018 · 2 comments
Assignees

Comments

@sterlinghughes
Copy link
Contributor

sterlinghughes commented Mar 6, 2018

create-image split-microbit 0 and create-image split-microbit 0.0.0.0 both report 0.0.0

but create-image split-microbit 0.0.0.1 reports 0.0.0.1

create-image split-microbit 1 reports 1.0.0

In my mind this should always report four zeros.

Jacobs-Air:chippd3 jacobrosenthal$ newt build split-microbit && newt create-image split-microbit 0 && newt load split-microbit 0
Building target targets/split-microbit
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-app.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit_tmp.elf
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-loader.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph_tmp.elf
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.elf
Generating ROM elf 
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.elf
Target successfully built: targets/split-microbit
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Archiving split-microbit-sysinit-app.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit_tmp.elf
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-loader.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph_tmp.elf
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.elf
Generating ROM elf 
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.elf
App image succesfully generated: /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.img
App image succesfully generated: /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.img
Loading app image into slot 2
Loading loader image into slot 1
Jacobs-Air:chippd3 jacobrosenthal$ newtmgr -c nimble_bleprph image list
Images:
slot=0
version: 0.0.0
bootable: true
flags: active confirmed
hash: e5a1b2038053bccac9aa3b4c297df3871328f9d5232b566fcc27d102d938e385
slot=1
version: 0.0.0
bootable: false
flags: 
hash: 33a5c44375b3859cdbe764036ea4548cef48979ca737c0a15d99e0be6a84a7a9
Split status: matching (2)

 

Jacobs-Air:chippd3 jacobrosenthal$ newt build split-microbit && newt create-image split-microbit 0.0.0.1 && newt load split-microbit 0.0.0.1
Building target targets/split-microbit
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-app.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit_tmp.elf
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-loader.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph_tmp.elf
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.elf
Generating ROM elf 
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.elf
Target successfully built: targets/split-microbit
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-app.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit_tmp.elf
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Archiving split-microbit-sysinit-loader.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph_tmp.elf
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.elf
Generating ROM elf 
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.elf
App image succesfully generated: /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.img
App image succesfully generated: /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.img
Loading app image into slot 2
Loading loader image into slot 1
Jacobs-Air:chippd3 jacobrosenthal$ newtmgr -c nimble_bleprph image list
Images:
slot=0
version: 0.0.0.1
bootable: true
flags: active confirmed
hash: 5a257c2d07c8ff5dcab386bd2ba694320e317a8ac47dc74795c94d3b797d533a
slot=1
version: 0.0.0.1
bootable: false
flags: 
hash: 9e1390f93063be6774623dc7b74c57446f8b7ce8123a35a7a2257e361e1abea9
Split status: matching (2)
Jacobs-Air:chippd3 jacobrosenthal$ newt build split-microbit && newt create-image split-microbit 0.0.0.0 && newt load split-microbit 0.0.0.0
Building target targets/split-microbit
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-app.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit_tmp.elf
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-loader.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph_tmp.elf
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.elf
Generating ROM elf 
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.elf
Target successfully built: targets/split-microbit
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Archiving split-microbit-sysinit-app.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit_tmp.elf
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-loader.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph_tmp.elf
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.elf
Generating ROM elf 
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.elf
App image succesfully generated: /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.img
App image succesfully generated: /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.img
Loading app image into slot 2
Loading loader image into slot 1
Jacobs-Air:chippd3 jacobrosenthal$ newtmgr -c nimble_bleprph image list
Images:
slot=0
version: 0.0.0
bootable: true
flags: active confirmed
hash: e5a1b2038053bccac9aa3b4c297df3871328f9d5232b566fcc27d102d938e385
slot=1
version: 0.0.0
bootable: false
flags: 
hash: 33a5c44375b3859cdbe764036ea4548cef48979ca737c0a15d99e0be6a84a7a9
Split status: matching (2)

 

Jacobs-Air:chippd3 jacobrosenthal$ newt build split-microbit && newt create-image split-microbit 1 && newt load split-microbit 1
Building target targets/split-microbit
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Archiving split-microbit-sysinit-app.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit_tmp.elf
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-loader.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph_tmp.elf
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.elf
Generating ROM elf 
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.elf
Target successfully built: targets/split-microbit
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-app.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit_tmp.elf
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-app.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysinit-loader.c
Compiling bin/targets/split-microbit/generated/src/split-microbit-sysflash.c
Archiving split-microbit-sysinit-loader.a
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph_tmp.elf
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.elf
Generating ROM elf 
Linking /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.elf
App image succesfully generated: /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/loader/apps/bleprph/bleprph.img
App image succesfully generated: /Users/jacobrosenthal/Downloads/chippd3/bin/targets/split-microbit/app/apps/blesplit/blesplit.img
Loading app image into slot 2
Loading loader image into slot 1
Jacobs-Air:chippd3 jacobrosenthal$ newtmgr -c nimble_bleprph image list
Images:
slot=0
version: 1.0.0
bootable: true
flags: active confirmed
hash: 6ee411e06979a31b5553970075fb6b4b67a06d2001c2f27227f8939e5af153d3
slot=1
version: 1.0.0
bootable: false
flags: 
hash: 3019d4dfe4088c90e197b795f450fb33fd43a571414b25ab9119ff03b7f5e889
Split status: matching (2)
Jacobs-Air:chippd3 jacobrosenthal$
@ccollins476ad
Copy link
Contributor

When constructing the version string, the firmware intentionally excludes the build ID if it is 0:

int
imgr_ver_str(struct image_version *ver, char *dst)
{
    if (ver->iv_build_num) {
        return sprintf(dst, "%u.%u.%u.%lu",
          ver->iv_major, ver->iv_minor, ver->iv_revision,
          (unsigned long)ver->iv_build_num);
    } else {
        return sprintf(dst, "%u.%u.%u",
          ver->iv_major, ver->iv_minor, ver->iv_revision);
    }
}

@mkiiskila , I know it has been a while, but do you recall the reason for doing this? Any reason it would be a bad idea to change this to always generate a uniform #.#.#.# string?

@mkiiskila
Copy link
Contributor

mkiiskila commented Apr 13, 2018 via email

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

No branches or pull requests

3 participants