@@ -127,27 +127,6 @@ jobs:
127 echo ::set-output name=PKG_NAME::${PKG_NAME}
127 echo ::set-output name=PKG_NAME::${PKG_NAME}
128 unset IS_RELEASE ; if [[ $GITHUB_REF =~ ^refs/tags/v[0-9].* ]]; then IS_RELEASE='true' ; fi
128 unset IS_RELEASE ; if [[ $GITHUB_REF =~ ^refs/tags/v[0-9].* ]]; then IS_RELEASE='true' ; fi
129 echo ::set-output name=IS_RELEASE::${IS_RELEASE}
129 echo ::set-output name=IS_RELEASE::${IS_RELEASE}
130− # DPKG architecture?
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 ;;
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}
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}
151 # target-specific options
130 # target-specific options
152 # # * test only library unit tests and binary for arm-type targets
131 # # * test only library unit tests and binary for arm-type targets
153 unset CARGO_TEST_OPTIONS
132 unset CARGO_TEST_OPTIONS
@@ -251,13 +230,31 @@ jobs:
252 popd >/dev/null
231 popd >/dev/null
253 - name: Debian package
232 - name: Debian package
254 shell: bash
234 shell: bash
255− if: steps.vars.outputs.DPKG_NAME
235+ if: startsWith(matrix.job.os, 'ubuntu')
257 COPYRIGHT_YEARS="2018 - "$(date "+%Y")
237 COPYRIGHT_YEARS="2018 - "$(date "+%Y")
258 DPKG_DIR="${{ steps.vars.outputs.STAGING }}/dpkg"
238 DPKG_DIR="${{ steps.vars.outputs.STAGING }}/dpkg"
259 mkdir -p "${DPKG_DIR}"
239 mkdir -p "${DPKG_DIR}"
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}
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 ;;
255+ DPKG_NAME="${DPKG_BASENAME}_${DPKG_VERSION}_${DPKG_ARCH}.deb"
256+ echo ::set-output name=DPKG_NAME::${DPKG_NAME}
262 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 }}"
259 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 }}"
263 if [ -n "${{ steps.vars.outputs.STRIP }}" ]; then "${{ steps.vars.outputs.STRIP }}" "${DPKG_DIR}/usr/bin/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}" ; fi
260 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:
271 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 }}"
268 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 }}"
273 # README and LICENSE
270 # README and LICENSE
274− install -Dm644 "README.md" "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/README.md"
271+ install -Dm644 "README.md" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/README.md"
275− install -Dm644 "LICENSE-MIT" "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/LICENSE-MIT"
272+ install -Dm644 "LICENSE-MIT" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/LICENSE-MIT"
276− install -Dm644 "LICENSE-APACHE" "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/LICENSE-APACHE"
273+ install -Dm644 "LICENSE-APACHE" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/LICENSE-APACHE"
277− install -Dm644 "CHANGELOG.md" "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/changelog"
274+ install -Dm644 "CHANGELOG.md" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog"
278− gzip -n --best "${DPKG_DIR}/usr/share/doc/${{ steps.vars.outputs.DPKG_BASENAME }}/changelog"
275+ gzip -n --best "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog"
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
281 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
278 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
282 Upstream-Name: ${{ env.PROJECT_NAME }}
279 Upstream-Name: ${{ env.PROJECT_NAME }}
283 Source: ${{ env.PROJECT_HOMEPAGE }}
280 Source: ${{ env.PROJECT_HOMEPAGE }}
@@ -316,26 +313,26 @@ jobs:
316 IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
313 IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
317 DEALINGS IN THE SOFTWARE.
314 DEALINGS IN THE SOFTWARE.
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"
321 # control file
318 # control file
322 mkdir -p "${DPKG_DIR}/DEBIAN"
319 mkdir -p "${DPKG_DIR}/DEBIAN"
323 cat > "${DPKG_DIR}/DEBIAN/control" <<EOF
320 cat > "${DPKG_DIR}/DEBIAN/control" <<EOF
324− Package: ${{ steps.vars.outputs.DPKG_BASENAME }}
321+ Package: ${DPKG_BASENAME}
325− Version: ${{ steps.vars.outputs.DPKG_VERSION }}
322+ Version: ${DPKG_VERSION}
326 Section: utils
323 Section: utils
327 Priority: optional
324 Priority: optional
328 Maintainer: ${{ env.PROJECT_MAINTAINER }}
325 Maintainer: ${{ env.PROJECT_MAINTAINER }}
329 Homepage: ${{ env.PROJECT_HOMEPAGE }}
326 Homepage: ${{ env.PROJECT_HOMEPAGE }}
330− Architecture: ${{ steps.vars.outputs.DPKG_ARCH }}
327+ Architecture: ${DPKG_ARCH}
331 Provides: ${{ env.PROJECT_NAME }}
328 Provides: ${{ env.PROJECT_NAME }}
332− Conflicts: ${{ steps.vars.outputs.DPKG_CONFLICTS }}
329+ Conflicts: ${DPKG_CONFLICTS}
333 Description: cat(1) clone with wings.
330 Description: cat(1) clone with wings.
334 A cat(1) clone with syntax highlighting and Git integration.
331 A cat(1) clone with syntax highlighting and Git integration.
337 # build dpkg
334 # 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}"
339 - name: Upload package artifact
336 - name: Upload package artifact
340 uses: actions/upload-artifact@master
337 uses: actions/upload-artifact@master
@@ -343,17 +340,17 @@ jobs:
343 path: ${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.PKG_NAME }}
340 path: ${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.PKG_NAME }}
344 - name: Upload Debian package artifact
341 - name: Upload Debian package artifact
345 uses: actions/upload-artifact@master
342 uses: actions/upload-artifact@master
346− if: steps.vars.outputs.DPKG_NAME
343+ if: steps.debian-package.outputs.DPKG_NAME
348− name: ${{ steps.vars.outputs.DPKG_NAME }}
345+ name: ${{ steps.debian-package.outputs.DPKG_NAME }}
349− path: ${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.DPKG_NAME }}
346+ path: ${{ steps.vars.outputs.STAGING }}/${{ steps.debian-package.outputs.DPKG_NAME }}
350 - name: Publish archives and packages
347 - name: Publish archives and packages
351 uses: softprops/action-gh-release@v1
348 uses: softprops/action-gh-release@v1
352 if: steps.vars.outputs.IS_RELEASE
349 if: steps.vars.outputs.IS_RELEASE
355 ${{ steps.vars.outputs.STAGING }}/${{ steps.vars.outputs.PKG_NAME }}
352 ${{ 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 }}
358 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
355 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}