Compare commits
8 commits
develop
...
feature/11
Author | SHA1 | Date | |
---|---|---|---|
a3add50d42 | |||
744ef5daf1 | |||
59e5652125 | |||
fc38cc6008 | |||
768c778998 | |||
cbbc302756 | |||
e6e5ea42e8 | |||
9982b2e11c |
8 changed files with 91 additions and 6 deletions
37
.drone.yml
37
.drone.yml
|
@ -26,6 +26,24 @@ steps:
|
|||
- mkdir -p /_cache/bin
|
||||
- cp -r bin/mfm /_cache/bin/$PACKAGE_BASENAME
|
||||
|
||||
- name: build:debian
|
||||
image: debian:bullseye
|
||||
environment:
|
||||
PACKAGE_BASENAME: mfm_linux_amd64
|
||||
volumes:
|
||||
- name: cache
|
||||
path: /_cache
|
||||
commands:
|
||||
- apt-get update
|
||||
- apt-get install -y build-essential debhelper devscripts dh-make
|
||||
- curl -fsSL https://crystal-lang.org/install.sh | bash
|
||||
- mkdir -p /_cache/debian
|
||||
- mkdir -p /_cache/bin
|
||||
- cp -r * /_cache/debian
|
||||
- cd /_cache/debian
|
||||
- dpkg-buildpackage -us -uc -d
|
||||
- mv ../*.deb /_cache/bin
|
||||
|
||||
- name: publish:tag
|
||||
image: alpine
|
||||
environment:
|
||||
|
@ -46,10 +64,18 @@ steps:
|
|||
commands:
|
||||
- apk add --update --no-cache curl jq
|
||||
- env |grep DRONE
|
||||
# Upload packages
|
||||
- |
|
||||
curl -H "Authorization: token $PACKAGE_UPLOAD_TOKEN" \
|
||||
--upload-file "/_cache/bin/$PACKAGE_BASENAME" \
|
||||
"$PACKAGE_UPLOAD_URL/$DRONE_TAG/$PACKAGE_BASENAME"
|
||||
- |
|
||||
for deb in /_cache/bin/*.deb 0 ; do \
|
||||
test -f "$deb" || continue ; \
|
||||
curl -H "Authorization: token $PACKAGE_UPLOAD_TOKEN" \
|
||||
--upload-file "$deb" \
|
||||
"$PACKAGE_UPLOAD_URL/$DRONE_TAG/$(basename $deb)" ; \
|
||||
done
|
||||
- |
|
||||
set -x
|
||||
curl -X POST \
|
||||
|
@ -75,6 +101,17 @@ steps:
|
|||
-H "Content-Type: multipart/form-data" \
|
||||
-F "attachment=@/_cache/bin/$PACKAGE_BASENAME" \
|
||||
"$RELEASES_URL/$TAG_ID/assets?name=$PACKAGE_BASENAME"
|
||||
- |
|
||||
set -x
|
||||
for deb in /_cache/bin/*.deb 0 ; do \
|
||||
test -f "$deb" || continue ; \
|
||||
curl -X POST \
|
||||
-H "Authorization: token $RELEASE_UPLOAD_TOKEN" \
|
||||
-H "accept: application/json" \
|
||||
-H "Content-Type: multipart/form-data" \
|
||||
-F "attachment=@$deb" \
|
||||
"$RELEASES_URL/$TAG_ID/assets?name=$(basename $deb)" ; \
|
||||
done
|
||||
|
||||
|
||||
# FIXME: handle multi-arch
|
||||
|
|
17
Makefile
17
Makefile
|
@ -3,13 +3,17 @@
|
|||
# SPDX-FileCopyrightText: 2023 Glenn Y. Rolland <glenux@glenux.net>
|
||||
# Copyright © 2023 Glenn Y. Rolland <glenux@glenux.net>
|
||||
|
||||
PREFIX=/usr
|
||||
DESTDIR=
|
||||
PREFIX=$(DESTDIR)/usr
|
||||
|
||||
.PHONY: all
|
||||
all: build
|
||||
|
||||
.PHONY: prepare
|
||||
prepare:
|
||||
shards install
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
shards build --error-trace -Dpreview_mt
|
||||
@echo SUCCESS
|
||||
|
@ -17,15 +21,20 @@ build:
|
|||
watch:
|
||||
watchexec --restart --delay-run 3 -c -e cr make build
|
||||
|
||||
.PHONY: spec test
|
||||
spec: test
|
||||
test:
|
||||
crystal spec --error-trace
|
||||
|
||||
.PHONY: install
|
||||
install:
|
||||
install \
|
||||
-D \
|
||||
-m 755 \
|
||||
bin/code-preloader \
|
||||
$(PREFIX)/bin
|
||||
bin/mfm \
|
||||
$(PREFIX)/bin/mfm
|
||||
|
||||
.PHONY: spec test build all prepare install
|
||||
.PHONY: deb
|
||||
deb:
|
||||
dpkg-buildpackage -us -uc -d
|
||||
|
||||
|
|
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
mfm (0.2.0) unstable; urgency=medium
|
||||
|
||||
* Première version empaquetée pour Debian.
|
||||
|
||||
-- Glenn Y. Rolland <glenux@glenux.net> Sun, 29 Dec 2024 20:06:16 +0100
|
19
debian/control
vendored
Normal file
19
debian/control
vendored
Normal file
|
@ -0,0 +1,19 @@
|
|||
Source: mfm
|
||||
Section: utils
|
||||
Priority: optional
|
||||
Maintainer: Glenn Y. Rolland <glenux@glenux.net>
|
||||
Build-Depends: debhelper-compat (= 13), crystal, shards, make
|
||||
Standards-Version: 4.6.0
|
||||
Homepage: https://code.apps.glenux.net/glenux/mfm
|
||||
Vcs-Git: https://code.apps.glenux.net/glenux/mfm.git
|
||||
Vcs-Browser: https://code.apps.glenux.net/glenux/mfm
|
||||
|
||||
Package: mfm
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libpcre3, libevent-2.1-7, fzf
|
||||
Recommends: gocryptfs, httpdirfs, sshfs
|
||||
Description: Simple command-line helper for FUSE filesystems
|
||||
MFM is a Crystal-lang CLI designed to streamline the management of various
|
||||
FUSE filesystems, such as sshfs, gocryptfs, httpdirfs, and more. Through its
|
||||
user-friendly interface, users can effortlessly mount and unmount filesystems,
|
||||
get real-time filesystem status, and handle errors proficiently.
|
8
debian/copyright
vendored
Normal file
8
debian/copyright
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: my-crystal-app
|
||||
Source: https://code.apps.glenux.net/glenux/mfm
|
||||
|
||||
Files: *
|
||||
Copyright: 2024, Glenn Y. Rolland <glenux@glenux.net>
|
||||
License: MIT
|
||||
https://opensource.org/license/mit
|
3
debian/mfm.install
vendored
Normal file
3
debian/mfm.install
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
bin/mfm /usr/bin/
|
||||
README.md /usr/share/doc/mfm/
|
||||
LICENSES/GPL-3.0-or-later.txt /usr/share/doc/mfm/LICENSE
|
4
debian/rules
vendored
Executable file
4
debian/rules
vendored
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/make -f
|
||||
|
||||
%:
|
||||
dh $@
|
|
@ -37,10 +37,10 @@ describe GX::Utils::BreadCrumbs do
|
|||
b1.to_s.should eq("")
|
||||
|
||||
b2 = b1 + "test1"
|
||||
b2.to_a.should eq("test1")
|
||||
b2.to_s.should eq("test1")
|
||||
|
||||
b3 = b2 + "test2"
|
||||
b3.to_a.should eq("test1 test2")
|
||||
b3.to_s.should eq("test1 test2")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue