Bug 1647945 - Review Source0 URL and git tag macros
Summary: Review Source0 URL and git tag macros
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: boinc-client
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Laurence Field
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-11-08 15:29 UTC by Germano Massullo
Modified: 2018-11-12 16:23 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-11-12 16:23:38 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Germano Massullo 2018-11-08 15:29:21 UTC
This ticket is:
- a personal reminder
- an expanded comment referenced in the spec file

For 7.14.2 release I hardcoded Source0 URL.
Source0 must be reviewed because:

1) The spec file is no compliant to guidelines for Git tags [1]
2) Github returns various file names for the same file:

2-a) boinc-client_release-7-7.14.tar.gz
if you use
https://github.com/BOINC/boinc/archive/client_release/7/7.14/boinc-client-client_release/7/7.14.2.tar.gz
that is a "hardcoded" version of
https://github.com/BOINC/boinc/archive/%%{gitbranch}/%%{name}-%%{gittag}.tar.gz
of the spec file

2-b) boinc-client_release-7.14-7.14.2.tar.gz
if you use
https://github.com/BOINC/boinc/archive/client_release/7.14/7.14.2.tar.gz
that is from webpage
https://github.com/BOINC/boinc/tags


This causes spec file to be break at every BOINC client release.

[1]: https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Tags

Comment 1 Germano Massullo 2018-11-12 16:23:38 UTC
- replaced hardcoded Source0
- replaced hardcoded %%setup
- adjusted macro tags for git
- added README section


# ========== README ==========
#
# BOINC client is not released with Github releases, it is released using
# Github tags.
# When a new BOINC client Github tag is released, replace
# 1) Version
# 2) Release (obviously)
# 3) commit, you can take it from the URL you get on Github when you pass the
# mousepointer on shortcommit (7 chars string)
# 
# BOINC release URLs are troublesome, to download the tar.gz use the following command
# spectool -g -s 0 boinc-client.spec
#
# Do not move the %%global foo block of code in the upper part of the spec
# file, otherwise it will not work because it will try to read macros not
# yet defined like %%{version}


========== Macros for git ==========

%global major_version %(v=%{version}; echo ${v:0:4})
%global commit 415b177a9a0f82a9bd2ed2a7e5dd3c2304e21014
%global gittag client_release/%{major_version}/%{version}
# gittag_custom is needed in %%setup process because tar.gz unpacks a folder
# named for example boinc-client_release-7.14-7.14.2
%global gittag_custom client_release-%{major_version}-%{version}
%global shortcommit %(c=%{commit}; echo ${c:0:7})


More infos at https://src.fedoraproject.org/rpms/boinc-client/blob/master/f/boinc-client.spec


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