Opened 8 months ago

Closed 4 months ago

#14834 closed bug (fixed)

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


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 (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 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 (3)

comment:1 by waddlesplash, 8 months ago


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 by rrobgill, 8 months ago

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.)

comment:3 by waddlesplash, 4 months ago

Resolution: fixed
Status: newclosed

Fixed in hrev53117.

Note: See TracTickets for help on using tickets.