当为 Fedora 编写 .spec 文件时,我遇到了一个问题。我似乎fedpkg mockbuild
根本做不到。无论我使用什么来源,HTTPS 还是本地,我都会遇到此错误:
Failed to get repository name from Git url or pushurl
Failed to get ns from Git url or pushurl
Could not execute mockbuild: ('Could not download sources: %s', AttributeError("'NoneType' object has no attribute 'head'"))
这是怎么回事?我的 .spec 文件的相关部分:
Name: purple-telegram-tdlib
# The main maintainer has not merged #154 for TDLib 1.8.0
Version: 0.8.1-BenWiederhake
Release: 1%{?dist}
Summary: New libpurple plugin for Telegram
License: GPLv2
URL: https://github.com/ars3niy/tdlib-purple
Source0: tdlib-purple-BenWiederhake-master.zip
BuildRequires: gcc-c++
BuildRequires: git
BuildRequires: make
BuildRequires: cmake
BuildRequires: tdlib-devel == 1.8.0
BuildRequires: tdlib-static == 1.8.0
BuildRequires: libpurple-devel
BuildRequires: libwebp-devel
BuildRequires: libpng-devel
BuildRequires: gettext-devel
答案1
-
您正在使用该版本中的角色。根据规格:
版本字符串由字母数字字符组成,可以选择使用分隔符 .、_ 和 +,加上 ~ 和 ^ 进行分段(见下文)。
波形符 (~) 可用于强制排序低于基数 (1.1~201601 < 1.1)。插入符 (^) 可用于强制排序高于基数 (1.1^201601 > 1.1)。这些对于处理发布前和发布后版本非常有用,例如 1.0~rc1 和 2.0^a。
不要将波浪号 ( ~
) 与破折号 ( -
) 混淆!破折号不是有效字符。在这种情况下,您应该^
改为使用,如下所示:
Version: 0.8.1^BenWiederhake
它是在更改之后构建的。