[Starlingx-discuss] enable pbr version
Saul Wold
sgw at linux.intel.com
Tue Apr 7 18:58:11 UTC 2020
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 at linux.intel.com>;
> *Date: * Sat, Mar 28, 2020 07:02 AM
> *To: * "何义鹏"<yipeng.he at jitstack.com>; "Penney,
> Don"<Don.Penney at windriver.com>; "Scott
> Little"<scott.little at windriver.com>; "Miller,
> Frank"<Frank.Miller at windriver.com>;
> *Cc: * "曹明晓"<cherish.cao at jitstack.com>; "杨永金"
> <wesley.yang at jitstack.com>; "桂来军"<helen.gui at jitstack.com>;
> "starlingx-discuss"<starlingx-discuss at 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.html
>
>
> 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 at windriver.com>;
> > *Date: * Wed, Mar 25, 2020 10:11 PM
> > *To: * "何义鹏"<yipeng.he at jitstack.com>; "Saul
> > Wold(sgw at linux.intel.com)"<sgw at linux.intel.com>;
> > *Cc:
> >
> * "'starlingx-discuss at lists.starlingx.io'(starlingx-discuss at lists.starlingx.io)"<starlingx-discuss at 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 at 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 at windriver.com>;
> >
> > *Date: * Wed, Mar 25, 2020 04:24 AM
> >
> > *To: * "Saul Wold"<sgw at linux.intel.com>; "何义鹏"
> <yipeng.he at jitstack.com>;
> >
> > *Cc: * "桂来军"<helen.gui at jitstack.com>; "杨永金"
> > <wesley.yang at jitstack.com>; "曹明晓"<cherish.cao at jitstack.com>;
> > "starlingx-discuss"<starlingx-discuss at 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 at 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 at lists.starlingx.io
> >> http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
> >>
> >
> > _______________________________________________
> > Starlingx-discuss mailing list
> > Starlingx-discuss at lists.starlingx.io
> > http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
> >
> >
> > _______________________________________________
> > Starlingx-discuss mailing list
> > Starlingx-discuss at lists.starlingx.io
> > http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
> >
>
> _______________________________________________
> Starlingx-discuss mailing list
> Starlingx-discuss at lists.starlingx.io
> http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
>
More information about the Starlingx-discuss
mailing list