Opened 3 months ago

Last modified 3 months ago

#14834 new bug

Compiling: HAIKU_REVISION in UserBuildConfig is disregarded by jam

Reported by: rrobgill Owned by: bonefish
Priority: low Milestone: Unscheduled
Component: Build System Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

The HAIKU_REVISION= workaround in UserBuildConfig for source trees lacking tags is presently not working on on either x86 and x86_64 nightly.

I've rated this as low priority as it is not an issue when using source trees from git.haiku-os.org (which contain tags), but it seems there may be something amiss in the build system.

Steps to replicate:

Download and clean-install either nightly x86 or x86_64

Update via SoftwareUpdater git clone https://github.com/haiku/haiku.git add HAIKU_REVISION=hrev98765; to UserBuildConfig in HAIKU_TOP/ and or HAIKU_TOP/build/jam ./configure run any of: jam @image, jam @nightly-raw, or jam @nightly-anyboot

Error message:

AddTargetVariableToScript1 <unique!target>_target_553 
fatal: No names found, cannot describe anything.
Error: you are using a Haiku clone without tags, please set
       the revision tag to use (e.g. HAIKU_REVISION=hrev43210)
./build/scripts/determine_haiku_revision . generated/build/haiku-revision
...failed DetermineHaikuRevision1 generated/build/haiku-revision ...

Change History (2)

comment:1 Changed 3 months ago by waddlesplash

HAIKU_REVISION=hrev98765; 

This is invalid Jam syntax, you must have a space before the semicolon.

UserBuildConfig.ReadMe already has a correct example of the syntax used here:

# Override the Haiku revision string determined via git. This is e.g. useful,
# when your git repository doesn't have hrev tags. You may need to remove the
# file <generated>/build/haiku-revision whenever you change this variable.
HAIKU_REVISION = hrev66666 ;

Or you could skip all of that and instead set the variable in your environment, or do so for just jam (e.g. HAIKU_REVISION=hrev12345 jam -q ...).

comment:2 Changed 3 months ago by rrobgill

My apologies, I was not precise in my steps to replicate.

HAIKU_REVSION extracted as given from UserConfig.ReadMe, (same format and same false hrev), using the following command:

grep HAIKU_REVISION build/jam/UserBuildConfig.ReadMe | tee build/jam/UserBuildConfig > UserBuildConfig

UserBuildConfig then contains :

HAIKU_REVISION = hrev66666 ;

With the error given above occurring during build.

(Specifying the environment variable manually is working as expected, just not specifying it within UserBuildConfig.)

Note: See TracTickets for help on using tickets.