bat/ci/before_deploy.bash
2# Building and packaging for release
7 cargo build --target "$TARGET" --release --verbose
16 tempdir=$(mktemp -d 2>/dev/null || mktemp -d -t tmp)
18 package_name="$PROJECT_NAME-$TRAVIS_TAG-$TARGET"
20 if [[ $TARGET == "arm-unknown-linux-gnueabihf" ]]; then
21 gcc_prefix="arm-linux-gnueabihf-"
22 elif [[ $TARGET == "aarch64-unknown-linux-gnu" ]]; then
23 gcc_prefix="aarch64-linux-gnu-"
28 # create a "staging" directory
29 mkdir "$tempdir/$package_name"
30 mkdir "$tempdir/$package_name/autocomplete"
32 # copying the main binary
33 cp "target/$TARGET/release/$PROJECT_NAME" "$tempdir/$package_name/"
34 "${gcc_prefix}"strip "$tempdir/$package_name/$PROJECT_NAME"
36 # manpage, readme and license
37 cp "doc/$PROJECT_NAME.1" "$tempdir/$package_name"
38 cp README.md "$tempdir/$package_name"
39 cp LICENSE-MIT "$tempdir/$package_name"
40 cp LICENSE-APACHE "$tempdir/$package_name"
42 # various autocomplete
43 cp target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/"$PROJECT_NAME".bash "$tempdir/$package_name/autocomplete/${PROJECT_NAME}.bash-completion"
44 cp target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/"$PROJECT_NAME".fish "$tempdir/$package_name/autocomplete"
45 cp target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/_"$PROJECT_NAME" "$tempdir/$package_name/autocomplete"
49 tar czf "$out_dir/$package_name.tar.gz" "$package_name"/*
73 gcc_prefix="aarch64-linux-gnu-"
77 gcc_prefix="arm-linux-gnueabihf-"
80 echo "make_deb: skipping target '${TARGET}'" >&2
84 version=${TRAVIS_TAG#v}
85 if [[ $TARGET = *musl* ]]; then
86 dpkgname=$PROJECT_NAME-musl
87 conflictname=$PROJECT_NAME
89 dpkgname=$PROJECT_NAME
90 conflictname=$PROJECT_NAME-musl
93 tempdir=$(mktemp -d 2>/dev/null || mktemp -d -t tmp)
95 # copy the main binary
96 install -Dm755 "target/$TARGET/release/$PROJECT_NAME" "$tempdir/usr/bin/$PROJECT_NAME"
97 "${gcc_prefix}"strip "$tempdir/usr/bin/$PROJECT_NAME"
100 install -Dm644 "doc/$PROJECT_NAME.1" "$tempdir/usr/share/man/man1/$PROJECT_NAME.1"
101 gzip --best "$tempdir/usr/share/man/man1/$PROJECT_NAME.1"
104 install -Dm644 README.md "$tempdir/usr/share/doc/$PROJECT_NAME/README.md"
105 install -Dm644 LICENSE-MIT "$tempdir/usr/share/doc/$PROJECT_NAME/LICENSE-MIT"
106 install -Dm644 LICENSE-APACHE "$tempdir/usr/share/doc/$PROJECT_NAME/LICENSE-APACHE"
109 mkdir "$tempdir/DEBIAN"
110 cat > "$tempdir/DEBIAN/control" <<EOF
115Maintainer: David Peter <mail@david-peter.de>
116Architecture: $architecture
117Provides: $PROJECT_NAME
118Conflicts: $conflictname
119Description: A cat(1) clone with wings.
120 A cat(1) clone with syntax highlighting and Git integration.
123 fakeroot dpkg-deb --build "$tempdir" "${dpkgname}_${version}_${architecture}.deb"
130 if [[ $TARGET = *linux* ]]; then
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list