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 # TODO: disabled for now, see issue #372
44 # cp target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/"$PROJECT_NAME".bash "$tempdir/$package_name/autocomplete/${PROJECT_NAME}.bash-completion"
45 # cp target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/"$PROJECT_NAME".fish "$tempdir/$package_name/autocomplete"
46 # cp target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/_"$PROJECT_NAME" "$tempdir/$package_name/autocomplete"
50 tar czf "$out_dir/$package_name.tar.gz" "$package_name"/*
74 gcc_prefix="aarch64-linux-gnu-"
78 gcc_prefix="arm-linux-gnueabihf-"
81 echo "make_deb: skipping target '${TARGET}'" >&2
85 version=${TRAVIS_TAG#v}
86 if [[ $TARGET = *musl* ]]; then
87 dpkgname=$PROJECT_NAME-musl
88 conflictname=$PROJECT_NAME
90 dpkgname=$PROJECT_NAME
91 conflictname=$PROJECT_NAME-musl
94 tempdir=$(mktemp -d 2>/dev/null || mktemp -d -t tmp)
96 # copy the main binary
97 install -Dm755 "target/$TARGET/release/$PROJECT_NAME" "$tempdir/usr/bin/$PROJECT_NAME"
98 "${gcc_prefix}"strip "$tempdir/usr/bin/$PROJECT_NAME"
101 install -Dm644 "doc/$PROJECT_NAME.1" "$tempdir/usr/share/man/man1/$PROJECT_NAME.1"
102 gzip --best "$tempdir/usr/share/man/man1/$PROJECT_NAME.1"
105 install -Dm644 README.md "$tempdir/usr/share/doc/$PROJECT_NAME/README.md"
106 install -Dm644 LICENSE-MIT "$tempdir/usr/share/doc/$PROJECT_NAME/LICENSE-MIT"
107 install -Dm644 LICENSE-APACHE "$tempdir/usr/share/doc/$PROJECT_NAME/LICENSE-APACHE"
110 mkdir "$tempdir/DEBIAN"
111 cat > "$tempdir/DEBIAN/control" <<EOF
116Maintainer: David Peter <mail@david-peter.de>
117Architecture: $architecture
118Provides: $PROJECT_NAME
119Conflicts: $conflictname
120Description: A cat(1) clone with wings.
121 A cat(1) clone with syntax highlighting and Git integration.
124 fakeroot dpkg-deb --build "$tempdir" "${dpkgname}_${version}_${architecture}.deb"
131 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