@@ -127,27 +127,6 @@ jobs:
127127 echo ::set-output name=PKG_NAME::${PKG_NAME}
128128 unset IS_RELEASE ; if [[ $GITHUB_REF =~ ^refs/tags/v[0-9].* ]]; then IS_RELEASE='true' ; fi
129129 echo ::set-output name=IS_RELEASE::${IS_RELEASE}
130− # DPKG architecture?
131− unset DPKG_ARCH
132− case ${{ matrix.job.target }} in
133− aarch64-*-linux-*) DPKG_ARCH=arm64 ;;
134− arm-*-linux-*hf) DPKG_ARCH=armhf ;;
135− i686-*-linux-*) DPKG_ARCH=i686 ;;
136− x86_64-*-linux-*) DPKG_ARCH=amd64 ;;
137− esac;
138− echo ::set-output name=DPKG_ARCH::${DPKG_ARCH}
139− DPKG_VERSION=${PROJECT_VERSION}
140− echo ::set-output name=DPKG_VERSION::${DPKG_VERSION}
141− # DPKG base name/conflicts?
142− DPKG_BASENAME=${PROJECT_NAME}
143− DPKG_CONFLICTS=${PROJECT_NAME}-musl
144− case ${{ matrix.job.target }} in *-musl) DPKG_BASENAME=${PROJECT_NAME}-musl ; DPKG_CONFLICTS=${PROJECT_NAME} ;; esac;
145− echo ::set-output name=DPKG_BASENAME::${DPKG_BASENAME}
146− echo ::set-output name=DPKG_CONFLICTS::${DPKG_CONFLICTS}
147− # DPKG name
148− unset DPKG_NAME;
149− if [[ -n $DPKG_ARCH && -n $DPKG_VERSION ]]; then DPKG_NAME="${DPKG_BASENAME}_${DPKG_VERSION}_${DPKG_ARCH}.deb" ; fi
150− echo ::set-output name=DPKG_NAME::${DPKG_NAME}
151130 # target-specific options
152131 # # * test only library unit tests and binary for arm-type targets
153132 unset CARGO_TEST_OPTIONS
@@ -251,13 +230,31 @@ jobs:
251230 esac;
252231 popd >/dev/null
253232 - name: Debian package
233+ id: debian-package
254234 shell: bash
255− if: steps.vars.outputs.DPKG_NAME
235+ if: startsWith(matrix.job.os, 'ubuntu')
256236 run: |
257237 COPYRIGHT_YEARS="2018 - "$(date "+%Y")
258238 DPKG_DIR="${{ steps.vars.outputs.STAGING }}/dpkg"
259239 mkdir -p "${DPKG_DIR}"
260240
241+ DPKG_BASENAME=${PROJECT_NAME}
242+ DPKG_CONFLICTS=${PROJECT_NAME}-musl
243+ case ${{ matrix.job.target }} in *-musl) DPKG_BASENAME=${PROJECT_NAME}-musl ; DPKG_CONFLICTS=${PROJECT_NAME} ;; esac;
244+ DPKG_VERSION=${PROJECT_VERSION}
245+
246+ unset DPKG_ARCH
247+ case ${{ matrix.job.target }} in
248+ aarch64-*-linux-*) DPKG_ARCH=arm64 ;;
249+ arm-*-linux-*hf) DPKG_ARCH=armhf ;;
250+ i686-*-linux-*) DPKG_ARCH=i686 ;;
251+ x86_64-*-linux-*) DPKG_ARCH=amd64 ;;
252+ *) DPKG_ARCH=notset ;;
253+ esac;
254+
255+ DPKG_NAME="${DPKG_BASENAME}_${DPKG_VERSION}_${DPKG_ARCH}.deb"
256+ echo ::set-output name=DPKG_NAME::${DPKG_NAME}
257+
261258 # Binary
262259 install -Dm755 'target/${{ matrix.job.target }}/release/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}' "${DPKG_DIR}/usr/bin/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}"
263260 if [ -n "${{ steps.vars.outputs.STRIP }}" ]; then "${{ steps.vars.outputs.STRIP }}" "${DPKG_DIR}/usr/bin/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}" ; fi
@@ -271,13 +268,13 @@ jobs:
271268 install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.zsh "${DPKG_DIR}/usr/share/zsh/vendor-completions/_${{ env.PROJECT_NAME }}"
272269
273270 # README and LICENSE
274− install -Dm644 "README.md" "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/README.md"
275− install -Dm644 "LICENSE-MIT" "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/LICENSE-MIT"
276− install -Dm644 "LICENSE-APACHE" "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/LICENSE-APACHE"
277− install -Dm644 "CHANGELOG.md" "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/changelog"
278− gzip -n --best "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/changelog"
271+ install -Dm644 "README.md" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/README.md"
272+ install -Dm644 "LICENSE-MIT" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/LICENSE-MIT"
273+ install -Dm644 "LICENSE-APACHE" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/LICENSE-APACHE"
274+ install -Dm644 "CHANGELOG.md" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog"
275+ gzip -n --best "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog"
279276
280− cat > "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/copyright" <<EOF
277+ cat > "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/copyright" <<EOF
281278 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
282279 Upstream-Name: ${{ env.PROJECT_NAME }}
283280 Source: ${{ env.PROJECT_HOMEPAGE }}
@@ -316,26 +313,26 @@ jobs:
316313 IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
317314 DEALINGS IN THE SOFTWARE.
318315 EOF
319− chmod 644 "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/copyright"
316+ chmod 644 "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/copyright"
320317
321318 # control file
322319 mkdir -p "${DPKG_DIR}/DEBIAN"
323320 cat > "${DPKG_DIR}/DEBIAN/control" <<EOF
324− Package: ${{ steps.vars.outputs.DPKG_BASENAME }}
325− Version: ${{ steps.vars.outputs.DPKG_VERSION }}
321+ Package: ${DPKG_BASENAME}
322+ Version: ${DPKG_VERSION}
326323 Section: utils
327324 Priority: optional
328325 Maintainer: ${{ env.PROJECT_MAINTAINER }}
329326 Homepage: ${{ env.PROJECT_HOMEPAGE }}
330− Architecture: ${{ steps.vars.outputs.DPKG_ARCH }}
327+ Architecture: ${DPKG_ARCH}
331328 Provides: ${{ env.PROJECT_NAME }}
332− Conflicts: ${{ steps.vars.outputs.DPKG_CONFLICTS }}
329+ Conflicts: ${DPKG_CONFLICTS}
333330 Description: cat(1) clone with wings.
334331 A cat(1) clone with syntax highlighting and Git integration.
335332 EOF
336333
337334 # build dpkg
338− fakeroot dpkg-deb --build "${DPKG_DIR}" "${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.DPKG_NAME }}"
335+ fakeroot dpkg-deb --build "${DPKG_DIR}" "${{ steps.vars.outputs.STAGING }}/${DPKG_NAME}"
339336 - name: Upload package artifact
340337 uses: actions/upload-artifact@master
341338 with:
@@ -343,17 +340,17 @@ jobs:
343340 path: ${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.PKG_NAME }}
344341 - name: Upload Debian package artifact
345342 uses: actions/upload-artifact@master
346− if: steps.vars.outputs.DPKG_NAME
343+ if: steps.debian-package.outputs.DPKG_NAME
347344 with:
348− name: ${{ steps.vars.outputs.DPKG_NAME }}
349− path: ${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.DPKG_NAME }}
345+ name: ${{ steps.debian-package.outputs.DPKG_NAME }}
346+ path: ${{ steps.vars.outputs.STAGING }}/${{ steps.debian-package.outputs.DPKG_NAME }}
350347 - name: Publish archives and packages
351348 uses: softprops/action-gh-release@v1
352349 if: steps.vars.outputs.IS_RELEASE
353350 with:
354351 files: |
355352 ${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.PKG_NAME }}
356− ${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.DPKG_NAME }}
353+ ${{ steps.vars.outputs.STAGING }}/${{ steps.debian-package.outputs.DPKG_NAME }}
357354 env:
358355 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
359356