@@ -68,6 +68,35 @@ if [[ -z "$VERSION" ]]; then
6868 VERSION=" $( jq -r ' .version' " $MANIFEST " ) "
6969fi
7070
71+ read_pkgver_from_pkgbuild () {
72+ awk -F= ' /^pkgver=/{print $2; exit}' " $1 "
73+ }
74+
75+ read_pkgrel_from_pkgbuild () {
76+ local value
77+ value=" $( awk -F= ' /^pkgrel=/{print $2; exit}' " $1 " ) "
78+ if [[ -z " $value " || ! " $value " =~ ^[0-9]+$ ]]; then
79+ echo 0
80+ else
81+ echo " $value "
82+ fi
83+ }
84+
85+ next_pkgrel () {
86+ local dir=" $1 "
87+ local pkgfile=" $dir /PKGBUILD"
88+ local current_pkgver current_pkgrel
89+
90+ current_pkgver=" $( read_pkgver_from_pkgbuild " $pkgfile " ) "
91+ current_pkgrel=" $( read_pkgrel_from_pkgbuild " $pkgfile " ) "
92+
93+ if [[ " $current_pkgver " == " $VERSION " ]]; then
94+ echo $(( current_pkgrel + 1 ))
95+ else
96+ echo 1
97+ fi
98+ }
99+
71100sha_for () {
72101 local name=" $1 "
73102 jq -r --arg n " $name " ' .artifacts[] | select(.name==$n) | .sha256' " $MANIFEST "
88117
89118update_bin () {
90119 local dir=" $1 "
120+ local pkgrel
91121 [[ -d " $dir " ]] || { echo " Skip bin: $dir not found" >&2 ; return ; }
92122 local sha
93123 sha=" $( sha_for " wayscriber-v${VERSION} -linux-x86_64.tar.gz" ) "
94124 [[ -n " $sha " && " $sha " != " null" ]] || { echo " Bin checksum missing in manifest" >&2 ; exit 1; }
125+ pkgrel=" $( next_pkgrel " $dir " ) "
95126
96127 pushd " $dir " > /dev/null
97128 replace_line PKGBUILD ' ^pkgver=.*' " pkgver=${VERSION} "
98- replace_line PKGBUILD ' ^pkgrel=.*' " pkgrel=1 "
129+ replace_line PKGBUILD ' ^pkgrel=.*' " pkgrel=${pkgrel} "
99130 replace_line PKGBUILD ' ^source_x86_64=.*' " source_x86_64=(\" wayscriber-v${VERSION} -linux-x86_64.tar.gz::https://github.com/devmobasa/wayscriber/releases/download/v${VERSION} /wayscriber-v${VERSION} -linux-x86_64.tar.gz\" )"
100131 replace_line PKGBUILD ' ^sha256sums_x86_64=.*' " sha256sums_x86_64=('${sha} ')"
101132
102133 replace_line .SRCINFO ' ^\s*pkgver = .*' " pkgver = ${VERSION} "
103- replace_line .SRCINFO ' ^\s*pkgrel = .*' " pkgrel = 1 "
134+ replace_line .SRCINFO ' ^\s*pkgrel = .*' " pkgrel = ${pkgrel} "
104135 replace_line .SRCINFO ' ^\s*source_x86_64 = .*' " source_x86_64 = wayscriber-v${VERSION} -linux-x86_64.tar.gz::https://github.com/devmobasa/wayscriber/releases/download/v${VERSION} /wayscriber-v${VERSION} -linux-x86_64.tar.gz"
105136 replace_line .SRCINFO ' ^\s*sha256sums_x86_64 = .*' " sha256sums_x86_64 = ${sha} "
106137
@@ -115,13 +146,15 @@ update_bin() {
115146
116147update_source () {
117148 local dir=" $1 "
149+ local pkgrel
118150 [[ -d " $dir " ]] || { echo " Skip source: $dir not found" >&2 ; return ; }
119151 pushd " $dir " > /dev/null
120152 replace_line PKGBUILD ' ^pkgver=.*' " pkgver=${VERSION} "
121- replace_line PKGBUILD ' ^pkgrel=.*' " pkgrel=1"
153+ pkgrel=" $( next_pkgrel " $dir " ) "
154+ replace_line PKGBUILD ' ^pkgrel=.*' " pkgrel=${pkgrel} "
122155
123156 replace_line .SRCINFO ' ^\s*pkgver = .*' " pkgver = ${VERSION} "
124- replace_line .SRCINFO ' ^\s*pkgrel = .*' " pkgrel = 1 "
157+ replace_line .SRCINFO ' ^\s*pkgrel = .*' " pkgrel = ${pkgrel} "
125158
126159 git status --short
127160 if [[ " $DO_PUSH " -eq 1 && -n " $( git status --porcelain) " ]]; then
@@ -134,15 +167,17 @@ update_source() {
134167
135168update_configurator () {
136169 local dir=" $1 "
170+ local pkgrel
137171 [[ -d " $dir " ]] || { echo " Skip configurator: $dir not found" >&2 ; return ; }
138172 pushd " $dir " > /dev/null
139173 replace_line PKGBUILD ' ^pkgver=.*' " pkgver=${VERSION} "
140- replace_line PKGBUILD ' ^pkgrel=.*' " pkgrel=1"
174+ pkgrel=" $( next_pkgrel " $dir " ) "
175+ replace_line PKGBUILD ' ^pkgrel=.*' " pkgrel=${pkgrel} "
141176 replace_line PKGBUILD ' ^source=.*' " source=(\" git+https://github.com/devmobasa/wayscriber.git#tag=v${VERSION} \" )"
142177 replace_line PKGBUILD ' ^sha256sums=.*' " sha256sums=('SKIP')"
143178
144179 replace_line .SRCINFO ' ^\s*pkgver = .*' " pkgver = ${VERSION} "
145- replace_line .SRCINFO ' ^\s*pkgrel = .*' " pkgrel = 1 "
180+ replace_line .SRCINFO ' ^\s*pkgrel = .*' " pkgrel = ${pkgrel} "
146181 replace_line .SRCINFO ' ^\s*source = .*' " source = git+https://github.com/devmobasa/wayscriber.git#tag=v${VERSION} "
147182 replace_line .SRCINFO ' ^\s*sha256sums = .*' " sha256sums = SKIP"
148183
0 commit comments