33from steps import (
44 ArchBuild ,
55 BumpPkgrel ,
6- Cleanup ,
7- CreateSshfsRemoteDirectory ,
8- CreateSshfsWorkerDirectory ,
96 FindDependency ,
10- GpgSign ,
11- MountRemoteDirectory ,
12- MountWorkerDirectory ,
13- MovePackage ,
14- RepoAdd ,
15- RepoSync ,
167 SetCommitRevision ,
178 SetTagRevision ,
18- Srcinfo ,
19- UnmountRemoteDirectory ,
20- UnmountWorkerDirectory ,
219 Updpkgsums ,
2210)
23- from util import ArchBuildUtil
2411
2512
2613class ArchBuildFactory (util .BuildFactory ):
27- def __init__ (self , pkgbuilddir : str , group : str , pkg_base : str , skip_repo : bool , properties : dict ):
14+ def __init__ (self , pkgbuilddir : str , repo : str , pkg_base : str , properties : dict ):
2815 super ().__init__ ()
2916
30- gpg_sign = properties ["gpg_sign" ]
31- sshdir = properties ["sshdir" ]
32- workdir = f"{ pkgbuilddir } /{ group } /{ pkg_base } "
17+ workdir = f"{ pkgbuilddir } /{ repo } /{ pkg_base } "
3318
3419 # set initial properties
3520 self .addStep (steps .SetProperties (name = "set properties from srcinfo" , properties = properties ))
@@ -50,112 +35,20 @@ def __init__(self, pkgbuilddir: str, group: str, pkg_base: str, skip_repo: bool,
5035 ]
5136 )
5237
53- # download build files
54- self .addStep (
55- steps .FileDownload (
56- name = "download PKGBUILD" ,
57- mastersrc = f"{ workdir } /PKGBUILD" ,
58- workerdest = "PKGBUILD" ,
59- )
38+ self .addSteps (
39+ [
40+ BumpPkgrel (workdir = workdir ),
41+ Updpkgsums (workdir = workdir ),
42+ ]
6043 )
61- for src_name in properties ["src_names" ]:
62- self .addStep (
63- steps .FileDownload (
64- name = f"download { src_name } " [:50 ],
65- mastersrc = f"{ workdir } /{ src_name } " ,
66- workerdest = src_name ,
67- )
68- )
69- install = properties ["install" ]
70- if install :
71- self .addStep (
72- steps .FileDownload (
73- name = f"download { install } " [:50 ],
74- mastersrc = f"{ workdir } /{ install } " ,
75- workerdest = install ,
76- )
77- )
78-
79- self .addSteps ([BumpPkgrel (), Updpkgsums ()])
8044
8145 # update git tag revision
8246 if properties ["git_tag" ]:
83- self .addStep (SetTagRevision ())
47+ self .addStep (SetTagRevision (workdir = workdir ))
8448
8549 # update git commit revision
8650 if properties ["git_revision" ]:
87- self .addStep (SetCommitRevision ())
51+ self .addStep (SetCommitRevision (workdir = workdir ))
8852
8953 # build
90- self .addStep (ArchBuild ())
91-
92- # update properties
93- self .addSteps (
94- [
95- Srcinfo (),
96- steps .FileUpload (
97- name = "upload updated PKGBUILD" ,
98- workersrc = "PKGBUILD" ,
99- masterdest = f"{ workdir } /PKGBUILD" ,
100- ),
101- steps .FileUpload (
102- name = "upload updated .SRCINFO" ,
103- workersrc = ".SRCINFO" ,
104- masterdest = f"{ workdir } /.SRCINFO" ,
105- ),
106- steps .SetProperties (
107- name = "refresh properties from srcinfo" ,
108- properties = ArchBuildUtil .srcinfo ,
109- ),
110- ]
111- )
112-
113- # upload and optionally sign packages
114- for pkg_name in properties ["pkg_names" ]:
115- self .addSteps (
116- [
117- steps .SetProperty (
118- name = f"set pkg_name to { pkg_name } " ,
119- property = "pkg_name" ,
120- value = pkg_name ,
121- hideStepIf = True ,
122- ),
123- steps .FileUpload (
124- name = f"upload { pkg_name } " ,
125- workersrc = ArchBuildUtil .pkg ,
126- masterdest = ArchBuildUtil .pkg_masterdest ,
127- ),
128- ]
129- )
130- if gpg_sign :
131- self .addStep (GpgSign (name = f"sign { pkg_name } " ))
132-
133- # update repository
134- if not skip_repo :
135- if gpg_sign :
136- self .addStep (
137- steps .FileDownload (
138- name = f"download { pkg_name } sig" ,
139- mastersrc = ArchBuildUtil .sig_mastersrc ,
140- workerdest = ArchBuildUtil .sig_workerdest ,
141- )
142- )
143- self .addSteps (
144- [
145- MovePackage (name = f"move { pkg_name } " ),
146- RepoAdd (name = f"add { pkg_name } " ),
147- ]
148- )
149-
150- # synchronize repository
151- if sshdir :
152- self .addStep (CreateSshfsWorkerDirectory ())
153- self .addStep (CreateSshfsRemoteDirectory ())
154- self .addStep (MountWorkerDirectory ())
155- self .addStep (MountRemoteDirectory ())
156- self .addStep (RepoSync ())
157- self .addStep (UnmountWorkerDirectory ())
158- self .addStep (UnmountRemoteDirectory ())
159-
160- # cleanup
161- self .addStep (Cleanup ())
54+ self .addStep (ArchBuild (workdir = workdir ))
0 commit comments