Bug 1309367 - RFE: option to pass BUILDHOST to rpmbuild
Summary: RFE: option to pass BUILDHOST to rpmbuild
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Packaging Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1302040
TreeView+ depends on / blocked
 
Reported: 2016-02-17 15:51 UTC by Miroslav Suchý
Modified: 2021-05-28 00:25 UTC (History)
18 users (show)

Fixed In Version: rpm-4.13.0-0.rc1.37.fc25
Doc Type: Enhancement
Doc Text:
Clone Of: 1302040
Environment:
Last Closed: 2016-06-02 14:19:42 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Use the _buildhost macro as buildhost if defined (1.42 KB, patch)
2016-03-01 16:45 UTC, Nicolas Vigier
no flags Details | Diff
Use the _buildhost macro as buildhost if defined v2 (1.55 KB, patch)
2016-03-02 10:02 UTC, Nicolas Vigier
no flags Details | Diff

Description Miroslav Suchý 2016-02-17 15:51:29 UTC
+++ This bug was initially created as a clone of Bug #1302040 +++

It will be nice to have option to pass to rpmbuild some argument which will override builhost.
This is useful if you are building inside of container, which have just uuid as host name.

Comment 1 Florian Festi 2016-03-01 08:01:43 UTC
Main question here is how to pass the name. Possible implementations can use a rpm macro - which has the benefit of being part of some package within the build root - or an environment variable - as in #1288713 . A command line option is possible but least preferred as you can also set macros on the command line.

Comment 2 Miroslav Suchý 2016-03-01 08:41:21 UTC
Passing it as macro name is just fine.

Comment 3 Florian Festi 2016-03-01 16:05:39 UTC
FYI: I just started a thread on rpm-ecosystem.org about reproducible build in which this change fits into.

Comment 4 Nicolas Vigier 2016-03-01 16:42:05 UTC
I have a patch to pass it as a macro:
http://lists.rpm.org/pipermail/rpm-maint/2013-September/003611.html

Comment 5 Nicolas Vigier 2016-03-01 16:45:11 UTC
Created attachment 1131998 [details]
Use the _buildhost macro as buildhost if defined

Here is a patch to use the _buildhost macro as buildhost if defined.

Comment 6 Pascal Terjan 2016-03-01 20:18:36 UTC
(In reply to Nicolas Vigier from comment #5)
> Created attachment 1131998 [details]
> Use the _buildhost macro as buildhost if defined
> 
> Here is a patch to use the _buildhost macro as buildhost if defined.

I think it would be better to have an error when it's >= 1024 rather than silently using the hostname of the machine

Comment 7 Miroslav Suchý 2016-03-02 09:16:57 UTC
(In reply to Pascal Terjan from comment #6)
> I think it would be better to have an error when it's >= 1024 rather than
> silently using the hostname of the machine

+1
According the 
  http://www.ietf.org/rfc/rfc1035.txt
section 2.3.4 - the max length of FQDN is 255 characters. So 1024 is way over this limit and never should be reached. So getting to this point is probably result of some mistake or error and in this case throwing error is just fine.

Comment 8 Nicolas Vigier 2016-03-02 10:02:28 UTC
Created attachment 1132230 [details]
Use the _buildhost macro as buildhost if defined v2

Here is a new version of the patch that adds a warning when _buildhost is too long.

Comment 9 Florian Festi 2016-06-02 14:19:42 UTC
Added upstream and to rawhide

Comment 10 Paul Wouters 2021-05-28 00:07:55 UTC
Note there seems to be a bug in this feature.

When using mock --rebuild --rpmbuild-opts='-D_buildhost=f33-deps-2' some.src.rpm, it seems to replace the "-" characters for "_", possibly because it is the same code path as for versions where these are not allowed?

Comment 11 Paul Wouters 2021-05-28 00:25:33 UTC
ah, it actually works when you use the right syntax: mock --rebuild --rpmbuild-opts '-D "_buildhost f33-deps-2"' some.src.rpm


Note You need to log in before you can comment on or make changes to this bug.