#8 Update gitdate packaging state
Opened 3 years ago by kwizart. Modified 3 years ago
rpms/ kwizart/xorg-x11-server gitlab-snapshoot  into  rawhide

file modified
+3 -34
@@ -1,36 +1,5 @@ 

- xorg-server-1.9.1.tar.bz2

- /xorg-server-20101125.tar.xz

- /xorg-server-20101201.tar.xz

- /xorg-server-1.10.0.tar.bz2

- /xorg-server-20110418.tar.xz

- /xorg-server-20110510.tar.xz

- /xorg-server-20110818.tar.xz

- /xorg-server-1.11.0.tar.bz2

- /xorg-server-1.11.1.tar.bz2

- /xorg-server-20111109.tar.xz

- /xorg-server-20120103.tar.xz

- /xorg-server-20120124.tar.xz

- /xorg-server-20120215.tar.xz

- /xorg-server-1.12.0.tar.bz2

- /xorg-server-1.12.1.tar.bz2

- /xorg-server-1.12.2.tar.bz2

- /xorg-server-1.12.3.tar.bz2

- /xorg-server-20120717.tar.xz

- /xorg-server-20120726.tar.xz

- /xorg-server-20120808.tar.xz

- /xorg-server-20120822.tar.xz

- /xorg-server-1.13.0.tar.bz2

- /xorg-server-1.13.1.tar.bz2

- /xorg-server-20130109.tar.xz

- /xorg-server-20130215.tar.xz

- /xorg-server-1.14.0.tar.bz2

- /xorg-server-1.14.1.tar.bz2

- /xorg-server-1.14.1.901.tar.bz2

- /xorg-server-1.14.2.tar.bz2

- /xorg-server-1.14.3.tar.bz2

- /xorg-server-1.14.99.3.tar.bz2

- /xorg-server-1.14.99.901.tar.bz2

- /xorg-server-1.14.99.902.tar.bz2

+ xorg-server-*.tar.*

+ xserver-*.tar.*

  *.bz2

+ *.gz

  *.xz
whot commented 3 years ago

are those three lines actually needed? the *tar* should catch anything we have, isn't it?

- /xorg-x11-server-1.15.0-1.fc21.src.rpm

file removed
-17
@@ -1,17 +0,0 @@ 

- #!/bin/sh

- 

- DIRNAME=xorg-server-$( date +%Y%m%d )

- 

- rm -rf $DIRNAME

- git clone git://git.freedesktop.org/git/xorg/xserver $DIRNAME

- cd $DIRNAME

- if [ -z "$1" ]; then

-     git log | head -1

- else

-     git checkout $1

- fi

- git log | head -1 | awk '{ print $2 }' > ../commitid

- git repack -a -d

- cd ..

- tar cf - $DIRNAME | xz -c9 > $DIRNAME.tar.xz

- rm -rf $DIRNAME

file modified
+7 -11
@@ -12,7 +12,9 @@ 

  %undefine _hardened_build

  %undefine _strict_symbol_defs_build

  

- #global gitdate 20161026

+ #global gitdate 20210128

+ %global commit0 5429791b1cf7f6cabf6c64aad0a4b1b5418253c9

+ %global shortcommit0 %(c=%{commit0}; echo ${c:0:7})

  %global stable_abi 1

  

  %if !0%{?gitdate} || %{stable_abi}
@@ -46,22 +48,16 @@ 

  Summary:   X.Org X11 X server

  Name:      xorg-x11-server

  Version:   1.20.10

- Release:   5%{?gitdate:.%{gitdate}}%{?dist}

+ Release:   5%{?gitdate:.%{gitdate}git%{shortcommit0}}%{?dist}

  URL:       http://www.x.org

  License:   MIT

  

- #VCS:      git:git://git.freedesktop.org/git/xorg/xserver

  %if 0%{?gitdate}

- # git snapshot.  to recreate, run:

- # ./make-git-snapshot.sh `cat commitid`

- Source0:   xorg-server-%{gitdate}.tar.xz

- #Source0:   http://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.bz2

- Source1:   make-git-snapshot.sh

- Source2:   commitid

+ Source0:   https://gitlab.freedesktop.org/xorg/xserver/-/archive/%{commit0}/xserver-%{shortcommit0}.tar.gz

  %else

  Source0:   https://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.bz2

- Source1:   gitignore

  %endif

+ Source1:   gitignore

  

  Source4:   10-quirks.conf

  
@@ -280,7 +276,7 @@ 

  

  

  %prep

- %autosetup -N -n %{pkgname}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}

+ %autosetup -N -n %{?gitdate:xserver-%{commit0}}%{!?gitdate:%{pkgname}-%{version}}

  rm -rf .git

  cp %{SOURCE1} .gitignore

  # ick

Using git snapshot is easy for for FLOSS components
Let's have a clean-up on the gitdate side of the spec.

build tested on aarch64 and armv7hl for tegra cases in
https://copr.fedorainfracloud.org/coprs/kwizart/tegra-nouveau/

I am not sure I understand the change on the version to 1.21.

While I agree we could use upstream gitlab snapshots instead of having a dedicated script (I've done that for Xwayland standalone), we do not plan on switching to 1.21 in any forseeable future considering that upstream has no plan to release 1.21, nor even make pre-releases for any Xserver but Xwayland.

Changing this means we would ship 1.21 instead of the stable branch, no?

rebased onto f75efa0

3 years ago

Changing this means we would ship 1.21 instead of the stable branch, no?

Indeed, I've fixed by removing the version change and tested locally.

Also, I've switched to use the 1.20.99.0 version in my copr that enables the snapshot.

Changing this means we would ship 1.21 instead of the stable branch, no?

Indeed, I've fixed by removing the version change and tested locally.

Also, I've switched to use the 1.20.99.0 version in my copr that enables the snapshot.

But the point is, we don't want to switch to the unstable git master branch from upstream without any plan upstream to a release any time soon.

If you are missing some fixes from the git master branch, best is to backport it to the stable branch server-1.20-branch upstream and it will be picked up next time a a release is made upstream.

But switching to git master for the Xserver downstream is, well, way too risky I reckon, the API/ABI is not stable by definition.

Yes, I agree that for this PR and as far a fedora rawhide is concerned, git master is too risky.
But as gitdate isn't enabled, it's only keeping stable releases for this PR.

With that said, I might send a separate PR for the backport needs for tegra (mainly around drm modifiers support).

For my copr, using git master seems easier at this step as I want to test others patches related to xorg server and tegra and thoses patches are modeleted against xserver git master. So backporting to stable is annoying. But maybe I will revisit this at some point.

For my copr, using git master seems easier at this step as I want to test others patches related to xorg server and tegra and thoses patches are modeleted against xserver git master. So backporting to stable is annoying. But maybe I will revisit this at some point.

Granted, I am no expert in rpm snapshot versioning, but from my understanding of the review of bug 1912335 for Xwayland standalone, the snapshot versioning here is not correct based on:

If gitlab is set, the version should be 1.20.99.1 and a release 0.n plus a pre-release-snapshot versioning whereas, if not set, it should be 1.20.10 (as of today) with a release n.

Considering the API/ABI differ, a driver built against 1.20.99.1 won't load/run on xserver 1.20.x so keeping the version at 1.20.x with gitdate set seems broken.

Right, I don't want to complexity more than needed. and specially change the version field.

About the release field, you are indeed right, given we are before the 1.20.99.1 tag (which is usually how development versions are tagged), release field should be < 1.
I will fix in my copr to avoid any bad interaction with fedora package if even a later xorg is updated.

About gitdate , as it's unset in my current PR (fix by a previous forced push), the intend is also to keep using 1.20.x for fedora...

1 new commit added

  • Drop dot for release field
3 years ago

Yeah, agreed, it's a welcome cleanup and it doesn't change the stable use case.

Are you sure about dropping the dot in the release though?

2 new commits added

  • Update gitignore
  • Clean-up for snapshot
3 years ago

Looks like you are right about the dot, I've over-think the issue.
I've kept the dot force pushed with the commit removed.

Thanks for the reviews.

@ofourdan thx for the comments. Anything missing from your POV ?

@ofourdan thx for the comments. Anything missing from your POV ?

Looks fine to me.

I've pinged my fellow colleagues to get their inputs as well.

are those three lines actually needed? the *tar* should catch anything we have, isn't it?

fun fact: commit0 doesn't seem to be needed, we can use shortcommit in the URL as well. (just tested using 5429791b)

LGTM minus the two comments above (sorry, not used to pagure and whoah, its UI is different to gh/gl)

@whot, thanks for the comments.

About commit0, it's part of the fedora guidelines for SourceURL:
https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Hosting_Services

About .gitignore, I don't know which new compression format will arise. But the main idea is to avoid bothering merge conflicts on this file. and if xserver/xorg-server are the main expected archive, maybe a new archive name can be used at some point... So this case will be catched.
Ultimately, this file can has multiple match.

Hello,

A reminder of this PR, or any issue ?

Thanks in advances.

rebased onto ea6f4c8

3 years ago

Build failed. More information on how to proceed and troubleshoot errors available at https://fedoraproject.org/wiki/Zuul-based-ci