Skip to content

cross-build for android, alway says git tag is dirty #139256

@huhuang03

Description

@huhuang03

Bug report

Bug description:

Follow cpython/Android/README.md to cross-build for android

    python Android/android.py configure-build && \
    python Android/android.py make-build && \
    python Android/android.py configure-host aarch64-linux-android && \
    python Android/android.py make-host aarch64-linux-android

And the sys._git show dirty.

>>> import sys
>>> sys._git
('CPython', 'heads/3.13-dirty', '5775c00')
>>>

Please notice the dirty.

And the reason is maybe the git command to calc the tag, in cross-build direcotry it's always dirty even though the work directory is clean.

➜  aarch64-linux-android git:(3.13) pwd
/home/foo/source/cpython/cross-build/aarch64-linux-android
➜  aarch64-linux-android git:(3.13) git --git-dir ../.././.git describe --all --always --dirty
heads/3.13-dirty
➜  aarch64-linux-android git:(3.13) cd ../..
➜  cpython git:(3.13) git --git-dir ./.git describe --all --always --dirty
heads/3.13

Which is called by cpython/cross-build/aarch64-linux-android/Makefile

Modules/getbuildinfo.o: $(PARSER_OBJS) \
                $(OBJECT_OBJS) \
                $(PYTHON_OBJS) \
                $(MODULE_OBJS) \
                $(MODOBJS) \
                $(DTRACE_OBJS) \
                $(srcdir)/Modules/getbuildinfo.c
        $(CC) -c $(PY_CORE_CFLAGS) \
              -DGITVERSION="\"`LC_ALL=C $(GITVERSION)`\"" \
              -DGITTAG="\"`LC_ALL=C $(GITTAG)`\"" \
              -DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \
              -o $@ $(srcdir)/Modules/getbuildinfo.c

GITTAG=         git --git-dir $(srcdir)/.git describe --all --always --dirty
srcdir=         ../..

CPython versions tested on:

3.13

Operating systems tested on:

Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions