Hi Yipeng, Sorry for the delay in getting back to you, I was looking into the build failure and trying understand how we handle the difference between the PBR SemVer [0] and PEP440 [1]. Specifically when there is a "Pre" tag like rc0, b1 such as 4.0.0.rc0. When PEP440 normalizes that semver tag to create the egg-info versio it comes out as 4.0.0rc0.egg-info. So we need to also change the spec files %files section for the egg-info file to wild-card that file instead of having a specific version listed. For example in the starlingx-dashboard spec file: diff --git a/starlingx-dashboard/centos/starlingx-dashboard.spec b/starlingx-dashboard/centos/starlingx-dashboard.spec index 7fbee65..399a9bd 100644 --- a/starlingx-dashboard/centos/starlingx-dashboard.spec +++ b/starlingx-dashboard/centos/starlingx-dashboard.spec @@ -62,7 +62,7 @@ rm -rf $RPM_BUILD_ROOT %files %{python2_sitelib}/%{py_pkg_name} -%{python2_sitelib}/%{py_pkg_name}-%{version}*.egg-info +%{python2_sitelib}/%{py_pkg_name}-*.egg-info %{enabled_dir} %{stx_themes_dir} And as discussed in Jeremy's email we should be adding the "Sem-Ver: feature" in the commit message, just once per repo. See Bin's pending commit in fault [2]. You will have to back and fix fault and other pending commits with the wild-card change for the egg-info file in the spec file. Finally all PBR related reviews should have a Depends-On: https://review.opendev.org/#/c/691632/ So it does not get merged before the enabling code in the build tools merges. Hope this clarifies things and gets the PBR work unblocked. I am going through the reviews and trying to provide some additional review comments. We can also talk about this tomorrow during the Distro call [3] Sau! [0] https://docs.openstack.org/pbr/3.0.0/semver.html [1] https://www.python.org/dev/peps/pep-0440/ [2] https://review.opendev.org/#/c/691647/ [3] On 3/30/20 6:52 PM, 何义鹏 wrote:
Saul!
Thank you for your answer! But how should I use the semMem-ver tag? ------------------ Original ------------------ *From: * "Saul Wold"<sgw@linux.intel.com>; *Date: * Sat, Mar 28, 2020 07:02 AM *To: * "何义鹏"<yipeng.he@jitstack.com>; "Penney, Don"<Don.Penney@windriver.com>; "Scott Little"<scott.little@windriver.com>; "Miller, Frank"<Frank.Miller@windriver.com>; *Cc: * "曹明晓"<cherish.cao@jitstack.com>; "杨永金" <wesley.yang@jitstack.com>; "桂来军"<helen.gui@jitstack.com>; "starlingx-discuss"<starlingx-discuss@lists.starlingx.io>; *Subject: * Re: [Starlingx-discuss] enable pbr version Yipeng,
I replied the other day, wanting to confirm if you have any additional changes in your local git repo? It seems that we need to consider a couple of options to possibly "pre-tag" 4.0 or use the "Sem_Ver: feature" tag in a commit to move the pbr versioning forward.
BUILD Team (Don, Scott, Frank):
Here's the general issue, we tag on the release branches, not master (although we have a v3.0.0.rc0 tag on master), we need to either add a Sem_Ver: feature tag to increment version's major number, or add a pre-tag of the 4.0 release.
Thoughts from the build team? I think we discussed part of the before, but want to do a quick revisit of the thread back in Nov [1], I think we had agreed to use Sem_Ver but it's not in the email thread
[0] http://lists.starlingx.io/pipermail/starlingx-discuss/2019-November/006790.h...
On 3/26/20 7:26 PM, 何义鹏 wrote:
Yes, building the rpm of the starlingx dashboard is a necessary step for my build-iso.
Maybe Saul can respond to the question that python builds allow several versions of components.
Jeremy replied to this earlier in the week, the issue appears to be the way we tagged rc0, we might need to have change our tagging. He also stated that the number of components is not a limiting factor.
Sau!
------------------ Original ------------------ *From: * "Penney, Don"<Don.Penney@windriver.com>; *Date: * Wed, Mar 25, 2020 10:11 PM *To: * "何义鹏"<yipeng.he@jitstack.com>; "Saul Wold(sgw@linux.intel.com)"<sgw@linux.intel.com>; *Cc:
* "'starlingx-discuss@lists.starlingx.io'(starlingx-discuss@lists.starlingx.io)"<starlingx-discuss@lists.starlingx.io>;
*Subject: * RE: Re:RE: [Starlingx-discuss] enable pbr version
Please keep starlingx-discuss on the receiver list.
You had indicated build-iso was failing, but the build.log you provided appears to be the RPM build log for starlingx-dashboard.
Processing files: starlingx-dashboard-2.9999.9999.rc1.dev23-0.tis.noarch
error: File not found:
/builddir/build/BUILDROOT/starlingx-dashboard-2.9999.9999.rc1.dev23-0.tis.x86_64/usr/lib/python2.7/site-packages/starlingx_dashboard-2.9999.9999.rc1.dev23*.egg-info
RPM build errors:
File not found:
/builddir/build/BUILDROOT/starlingx-dashboard-2.9999.9999.rc1.dev23-0.tis.x86_64/usr/lib/python2.7/site-packages/starlingx_dashboard-2.9999.9999.rc1.dev23*.egg-info
Child return code was: 1
EXCEPTION: [Error()]
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 95, in trace
result = func(*args, **kw)
File "/usr/lib/python3.6/site-packages/mockbuild/util.py", line 746, in do_with_status
raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode)
mockbuild.exception.Error: Command failed:
# bash --login -c /usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/starlingx-dashboard.spec
Looking through the build.log, I see the following:
Copying starlingx_dashboard.egg-info to
build/bdist.linux-x86_64/wheel/starlingx_dashboard-2.9999.9999rc1.dev23-py2.7.egg-info
So in the build, it’s creating the egg with the version set to 2.9999.9999rc1.dev23, while the %files is expecting it to be 2.9999.9999.rc1.dev23.
Looking further through the build.log, there’s the following:
+ /usr/bin/python2 setup.py install -O1 --skip-build --root
/builddir/build/BUILDROOT/starlingx-dashboard-2.9999.9999.rc1.dev23-0.tis.x86_64
/usr/lib/python2.7/site-packages/setuptools/dist.py:355: UserWarning: Normalizing '2.9999.9999.rc1.dev23' to '2.9999.9999rc1.dev23'
normalized_version,
running install
Maybe the python build only allows 4 version components?
*From:*何义鹏[mailto:yipeng.he@jitstack.com] *Sent:* Tuesday, March 24, 2020 9:59 PM *To:* Penney, Don *Subject:* Re:RE: [Starlingx-discuss] enable pbr version
Hi Saul,
I added the error log to the attachment. Do you need other files for analysis?
Thank you for your help.
yipeng.he!
------------------ Original ------------------
*From: * "Penney, Don"<Don.Penney@windriver.com>;
*Date: * Wed, Mar 25, 2020 04:24 AM
*To: * "Saul Wold"<sgw@linux.intel.com>; "何义鹏"
<yipeng.he@jitstack.com>;
*Cc: * "桂来军"<helen.gui@jitstack.com>; "杨永金" <wesley.yang@jitstack.com>; "曹明晓"<cherish.cao@jitstack.com>; "starlingx-discuss"<starlingx-discuss@lists.starlingx.io>;
*Subject: * RE: [Starlingx-discuss] enable pbr version
Hi Yipeng,
Can you provide more info? What was the error you saw from build-iso?
-----Original Message----- From: Saul Wold [mailto:sgw@linux.intel.com] Sent: Monday, March 23, 2020 6:45 PM To: 何义鹏 Cc: 桂来军; 杨永金; 曹明晓; starlingx-discuss Subject: Re: [Starlingx-discuss] enable pbr version
Hi Yipeng,
I was out last week on vacation, so I am catching up now.
I think you would have to investigate build-iso and associated scripts and tools to see if there is an awk, sed or some other command that is not parsing the extended version. I have not investigated this further, that's my initial assessment.
Can you be more specific about what the error is or provide a log file of the build-iso process?
Thanks for working on this project.
Sau!
On 3/19/20 12:21 AM, 何义鹏wrote:
Hello Saul
I'm Yipeng He from JITStack, and I'm taking over the tasks of PBR. I encountered the following issue when trying to build iso: It fails when the suffix of the version generated by the PBR tool ended with number, for instance the building fails if the version id is 2.999.9999.rc1.dev23, and when I replaced it with 2.999.9999.rc1.dev, the ISO building was successful. I don't knwo why this happens, could please support and advice the solution for this issue.
Yipeng.He
_______________________________________________ Starlingx-discuss mailing list Starlingx-discuss@lists.starlingx.io http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
_______________________________________________ Starlingx-discuss mailing list Starlingx-discuss@lists.starlingx.io http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
_______________________________________________ Starlingx-discuss mailing list Starlingx-discuss@lists.starlingx.io http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
_______________________________________________ Starlingx-discuss mailing list Starlingx-discuss@lists.starlingx.io http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss