Compare commits
No commits in common. "887d5bf3c2f977729d14ff30c9865e624825221d" and "335baed2663abf44556acb3da6a1e21d66a23a62" have entirely different histories.
887d5bf3c2
...
335baed266
7 changed files with 20 additions and 50 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,4 +1,3 @@
|
|||
/target
|
||||
**/*.rs.bk
|
||||
bunbun.toml
|
||||
out
|
||||
|
|
3
Cargo.lock
generated
3
Cargo.lock
generated
|
@ -382,7 +382,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "bunbun"
|
||||
version = "0.5.0"
|
||||
version = "0.4.1"
|
||||
dependencies = [
|
||||
"actix-rt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"actix-web 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -390,6 +390,7 @@ dependencies = [
|
|||
"handlebars 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"hotwatch 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"itertools 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "bunbun"
|
||||
version = "0.5.0"
|
||||
version = "0.4.1"
|
||||
authors = ["Edward Shen <code@eddie.sh>"]
|
||||
edition = "2018"
|
||||
description = "Re-implementation of bunny1 in Rust"
|
||||
|
@ -17,6 +17,7 @@ handlebars = "2.0"
|
|||
hotwatch = "0.4"
|
||||
percent-encoding = "2.1"
|
||||
itertools = "0.8"
|
||||
libc = "0.2"
|
||||
log = "0.4"
|
||||
simple_logger = "1.3"
|
||||
clap = { version = "2.33", features = ["yaml", "wrap_help"] }
|
||||
|
|
33
PKGBUILD
33
PKGBUILD
|
@ -1,33 +0,0 @@
|
|||
# Maintainer: Edward Shen <code@eddie.sh>
|
||||
pkgname=bunbun
|
||||
pkgver=0.4.1
|
||||
pkgrel=1
|
||||
depends=('gcc-libs')
|
||||
makedepends=('rust' 'cargo')
|
||||
arch=('i686' 'x86_64' 'armv6h' 'armv7h')
|
||||
pkgdesc="Re-implementation of bunny1 in Rust"
|
||||
url="https://github.com/edward-shen/bunbun"
|
||||
license=('AGPL')
|
||||
source=("$pkgname-$pkgver.tar.gz::https://github.com/edward-shen/$pkgname/archive/$pkgver.tar.gz")
|
||||
sha512sums=('b8576b40e1912bb651b12a8adb591c93fe60116ea5870a77852789fcd3e5027438847120cd1f2549271365de1ba1387145d026c035473ab510e3628fe791458e')
|
||||
|
||||
build() {
|
||||
cd "$pkgname-$pkgver"
|
||||
|
||||
cargo build --release --locked
|
||||
strip "target/release/$pkgname" || true
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$pkgname-$pkgver"
|
||||
|
||||
cargo test --release --locked
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$pkgname-$pkgver"
|
||||
|
||||
install -Dm755 "target/release/$pkgname" -t "$pkgdir/usr/bin"
|
||||
install -Dm644 "$srcdir/aux/systemd/$pkgname.service" -t "$pkgdir/usr/lib/systemd/system"
|
||||
install -Dm644 "$srcdir/$pkgname.default.yaml" "$pkgdir/etc/$pkgname.yaml"
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
[Unit]
|
||||
Description=Bunbun search multiplexer/jump service
|
||||
After=network.target
|
||||
StartLimitIntervalSec=0
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
Restart=always
|
||||
RestartSec=1
|
||||
ExecStart=/usr/bin/bunbun
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -14,6 +14,10 @@ args:
|
|||
multiple: true
|
||||
help: Decreases the log level to error or no logging at all, respectively.
|
||||
conflicts_with: "verbose"
|
||||
- daemon:
|
||||
short: "d"
|
||||
long: "daemon"
|
||||
help: "Run bunbun as a daemon."
|
||||
- config:
|
||||
short: "c"
|
||||
long: "config"
|
||||
|
|
13
src/main.rs
13
src/main.rs
|
@ -1,8 +1,10 @@
|
|||
use actix_web::{middleware::Logger, App, HttpServer};
|
||||
use actix_web::middleware::Logger;
|
||||
use actix_web::{App, HttpServer};
|
||||
use clap::{crate_authors, crate_version, load_yaml, App as ClapApp};
|
||||
use error::BunBunError;
|
||||
use handlebars::Handlebars;
|
||||
use hotwatch::{Event, Hotwatch};
|
||||
use libc::daemon;
|
||||
use log::{debug, error, info, trace, warn};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::cmp::min;
|
||||
|
@ -51,6 +53,15 @@ async fn main() -> Result<(), BunBunError> {
|
|||
groups: conf.groups,
|
||||
}));
|
||||
|
||||
// Daemonize after trying to read from config and before watching; allow user
|
||||
// to see a bad config (daemon process sets std{in,out} to /dev/null)
|
||||
if matches.is_present("daemon") {
|
||||
unsafe {
|
||||
debug!("Daemon flag provided. Running as a daemon.");
|
||||
daemon(0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
let _watch = start_watch(state.clone(), conf_file_location)?;
|
||||
|
||||
HttpServer::new(move || {
|
||||
|
|
Loading…
Reference in a new issue