1 | # python3_pkgversion specifies the version of Python 3 in the distro. It can be
|
---|
2 | # a specific version (e.g. 34 in Fedora EPEL7)
|
---|
3 | %python3_pkgversion 3
|
---|
4 |
|
---|
5 | # Set to /bin/true to avoid %ifdefs and %{? in specfiles
|
---|
6 | %__python3_other /@unixroot/usr/bin/true
|
---|
7 | %py3_other_build /@unixroot/usr/bin/true
|
---|
8 | %py3_other_install /@unixroot/usr/bin/true
|
---|
9 |
|
---|
10 |
|
---|
11 |
|
---|
12 | # === Macros for Build/Requires tags using Python dist tags ===
|
---|
13 | # - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
---|
14 | # - These macros need to be in macros.python-srpm, because BuildRequires tags
|
---|
15 | # get rendered as runtime requires into the metadata of SRPMs.
|
---|
16 |
|
---|
17 | # Converts Python dist name to a canonical format
|
---|
18 | %py_dist_name() %{lua:\
|
---|
19 | name = rpm.expand("%{?1:%{1}}");\
|
---|
20 | canonical = string.gsub(string.lower(name), "%W+", "-");\
|
---|
21 | print(canonical);\
|
---|
22 | }
|
---|
23 |
|
---|
24 | # Creates Python 2 dist tag(s) after converting names to canonical format
|
---|
25 | # Needs to first put all arguments into a list, because invoking a different
|
---|
26 | # macro (%py_dist_name) overwrites them
|
---|
27 | %py2_dist() %{lua:\
|
---|
28 | args = {}\
|
---|
29 | arg = 1\
|
---|
30 | while (true) do\
|
---|
31 | name = rpm.expand("%{?" .. arg .. ":%{" .. arg .. "}}");\
|
---|
32 | if (name == nil or name == '') then\
|
---|
33 | break\
|
---|
34 | end\
|
---|
35 | args[arg] = name\
|
---|
36 | arg = arg + 1\
|
---|
37 | end\
|
---|
38 | for arg, name in ipairs(args) do\
|
---|
39 | canonical = rpm.expand("%py_dist_name " .. name);\
|
---|
40 | print("python2dist(" .. canonical .. ") ");\
|
---|
41 | end\
|
---|
42 | }
|
---|
43 |
|
---|
44 | # Creates Python 3 dist tag(s) after converting names to canonical format
|
---|
45 | # Needs to first put all arguments into a list, because invoking a different
|
---|
46 | # macro (%py_dist_name) overwrites them
|
---|
47 | %py3_dist() %{lua:\
|
---|
48 | args = {}\
|
---|
49 | arg = 1\
|
---|
50 | while (true) do\
|
---|
51 | name = rpm.expand("%{?" .. arg .. ":%{" .. arg .. "}}");\
|
---|
52 | if (name == nil or name == '') then\
|
---|
53 | break\
|
---|
54 | end\
|
---|
55 | args[arg] = name\
|
---|
56 | arg = arg + 1\
|
---|
57 | end\
|
---|
58 | for arg, name in ipairs(args) do\
|
---|
59 | canonical = rpm.expand("%py_dist_name " .. name);\
|
---|
60 | print("python3dist(" .. canonical .. ") ");\
|
---|
61 | end\
|
---|
62 | }
|
---|