Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions common/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = "rebuilderd - common code"
authors = ["kpcyrd <[email protected]>"]
license = "GPL-3.0-or-later"
repository = "https://github.com/kpcyrd/rebuilderd"
edition = "2021"
edition = "2024"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand All @@ -30,4 +30,4 @@ tokio-test = "0.4.4"

[features]
diesel = ["dep:diesel"]
v0 = []
v0 = []
2 changes: 1 addition & 1 deletion common/src/api/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use crate::auth;
use crate::config::ConfigFile;
use crate::errors::Error;
use crate::utils::zstd_compress;
use anyhow::{anyhow, Context};
use anyhow::{Context, anyhow};
use async_trait::async_trait;
use log::debug;
use reqwest::header::CONTENT_ENCODING;
Expand Down
4 changes: 2 additions & 2 deletions common/src/api/v1/models/build.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
use chrono::NaiveDateTime;
#[cfg(feature = "diesel")]
use diesel::{
deserialize::FromSql, serialize::Output, serialize::ToSql, sql_types::Text, sqlite::Sqlite,
sqlite::SqliteValue, AsExpression, FromSqlRow, Queryable,
AsExpression, FromSqlRow, Queryable, deserialize::FromSql, serialize::Output, serialize::ToSql,
sql_types::Text, sqlite::Sqlite, sqlite::SqliteValue,
};
use serde::{Deserialize, Serialize};
use std::error::Error;
Expand Down
8 changes: 4 additions & 4 deletions common/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ pub fn load<P: AsRef<Path>>(path: Option<P>) -> Result<ConfigFile> {
config.update(c);
}

if let Ok(path) = config_path() {
if let Some(c) = load_from(path)? {
config.update(c);
}
if let Ok(path) = config_path()
&& let Some(c) = load_from(path)?
{
config.update(c);
}

if let Some(path) = path {
Expand Down
2 changes: 1 addition & 1 deletion common/src/errors.rs
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
pub use anyhow::{anyhow, bail, format_err, Context, Error, Result};
pub use anyhow::{Context, Error, Result, anyhow, bail, format_err};
pub use log::{debug, error, info, trace, warn};
2 changes: 1 addition & 1 deletion daemon/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = "rebuilderd - independent build verification daemon"
authors = ["kpcyrd <[email protected]>"]
license = "GPL-3.0-or-later"
repository = "https://github.com/kpcyrd/rebuilderd"
edition = "2021"
edition = "2024"

[package.metadata.deb]
maintainer-scripts = "daemon/debian"
Expand Down
2 changes: 1 addition & 1 deletion daemon/src/api/mod.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::web;
use actix_web::http::header::{AcceptEncoding, ContentEncoding, Encoding, Header};
use actix_web::{HttpRequest, HttpResponse};
use rebuilderd_common::errors::{format_err, Context, Error};
use rebuilderd_common::errors::{Context, Error, format_err};
use rebuilderd_common::utils::{is_zstd_compressed, zstd_decompress};

pub mod v0;
Expand Down
2 changes: 1 addition & 1 deletion daemon/src/api/v0/dashboard.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ use crate::api::v0::into_queue_item;
use crate::models::Queued;
use crate::schema::{build_inputs, queue, rebuilds, source_packages};
use chrono::prelude::*;
use diesel::NullableExpressionMethods;
use diesel::dsl::{case_when, sum};
use diesel::sql_types::Integer;
use diesel::NullableExpressionMethods;
use diesel::{BoolExpressionMethods, ExpressionMethods, QueryDsl, RunQueryDsl};
use rebuilderd_common::api::v0::*;
use rebuilderd_common::errors::*;
Expand Down
12 changes: 6 additions & 6 deletions daemon/src/api/v0/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ use crate::models;
use crate::models::{BinaryPackage, BuildInput, Queued, SourcePackage};
use crate::schema::*;
use crate::web;
use actix_web::{get, http, post, HttpRequest, HttpResponse, Responder};
use chrono::prelude::*;
use actix_web::{HttpRequest, HttpResponse, Responder, get, http, post};
use chrono::Duration;
use chrono::prelude::*;
pub(crate) use dashboard::DashboardState;
use diesel::dsl::auto_type;
use diesel::{QueryDsl, RunQueryDsl};
Expand Down Expand Up @@ -188,10 +188,10 @@ pub async fn list_pkgs(
.map_err(Error::from)?
{
let latest_built_at = DateTime::from_naive_utc_and_offset(latest_built_at, Utc);
if let Some(duration) = modified_since_duration(&req, latest_built_at) {
if duration.num_seconds() >= 0 {
return Ok(not_modified());
}
if let Some(duration) = modified_since_duration(&req, latest_built_at)
&& duration.num_seconds() >= 0
{
return Ok(not_modified());
}

let latest_built_at = SystemTime::from(latest_built_at);
Expand Down
6 changes: 3 additions & 3 deletions daemon/src/api/v1/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ use crate::schema::{
rebuilds, source_packages,
};
use crate::{attestation, web};
use actix_web::{get, post, HttpRequest, HttpResponse, Responder};
use actix_web::{HttpRequest, HttpResponse, Responder, get, post};
use chrono::{Duration, Utc};
use diesel::dsl::update;
use diesel::NullableExpressionMethods;
use diesel::QueryDsl;
use diesel::dsl::update;
use diesel::{ExpressionMethods, SqliteExpressionMethods};
use diesel::{OptionalExtension, RunQueryDsl};
use in_toto::crypto::PrivateKey;
Expand All @@ -28,8 +28,8 @@ use rebuilderd_common::api::v1::{
};
use rebuilderd_common::errors::Error;
use rebuilderd_common::utils::{is_zstd_compressed, zstd_compress};
use std::collections::hash_map::Entry;
use std::collections::HashMap;
use std::collections::hash_map::Entry;
use std::sync::Arc;

#[diesel::dsl::auto_type]
Expand Down
6 changes: 3 additions & 3 deletions daemon/src/api/v1/dashboard.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
use crate::db::Pool;
use crate::schema::{build_inputs, queue, rebuilds, source_packages};
use crate::web;
use actix_web::{get, HttpResponse, Responder};
use actix_web::{HttpResponse, Responder, get};
use chrono::Utc;
use diesel::NullableExpressionMethods;
use diesel::RunQueryDsl;
use diesel::dsl::{case_when, sum};
use diesel::sql_types::Integer;
use diesel::sqlite::Sqlite;
use diesel::NullableExpressionMethods;
use diesel::RunQueryDsl;
use diesel::{BoolExpressionMethods, JoinOnDsl, QueryDsl};
use diesel::{ExpressionMethods, SqliteExpressionMethods};
use rebuilderd_common::api::v1::{
Expand Down
2 changes: 1 addition & 1 deletion daemon/src/api/v1/meta.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use crate::api::v1::util::filters::IntoFilter;
use crate::db::Pool;
use crate::schema::{build_inputs, source_packages};
use crate::{attestation, web};
use actix_web::{get, HttpResponse, Responder};
use actix_web::{HttpResponse, Responder, get};
use diesel::{QueryDsl, RunQueryDsl, SqliteExpressionMethods};
use in_toto::crypto::PrivateKey;
use rebuilderd_common::api::v1::FreshnessFilter;
Expand Down
2 changes: 1 addition & 1 deletion daemon/src/api/v1/package.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use crate::schema::{
binary_packages, build_inputs, queue, rebuild_artifacts, rebuilds, source_packages,
};
use crate::web;
use actix_web::{get, post, HttpRequest, HttpResponse, Responder};
use actix_web::{HttpRequest, HttpResponse, Responder, get, post};
use chrono::Utc;
use diesel::dsl::{delete, exists, not, select, update};
use diesel::r2d2::{ConnectionManager, PooledConnection};
Expand Down
4 changes: 2 additions & 2 deletions daemon/src/api/v1/queue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ use crate::db::Pool;
use crate::models::NewQueued;
use crate::schema::{binary_packages, build_inputs, queue, rebuilds, source_packages, workers};
use crate::web;
use actix_web::{delete, get, post, HttpRequest, HttpResponse, Responder};
use actix_web::{HttpRequest, HttpResponse, Responder, delete, get, post};
use chrono::{Duration, NaiveDateTime, Utc};
use diesel::dsl::update;
use diesel::{define_sql_function, ExpressionMethods, SqliteExpressionMethods};
use diesel::{BoolExpressionMethods, JoinOnDsl};
use diesel::{Connection, OptionalExtension, QueryDsl, RunQueryDsl};
use diesel::{ExpressionMethods, SqliteExpressionMethods, define_sql_function};
use rebuilderd_common::api::v1::{
BuildStatus, IdentityFilter, JobAssignment, OriginFilter, Page, PopQueuedJobRequest, Priority,
QueueJobRequest, QueuedJob, QueuedJobArtifact, QueuedJobWithArtifacts, ResultPage,
Expand Down
2 changes: 1 addition & 1 deletion daemon/src/api/v1/util/auth.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use diesel::SqliteExpressionMethods;
use diesel::{RunQueryDsl, SqliteConnection};
use log::debug;
use rebuilderd_common::api::{AUTH_COOKIE_HEADER, SIGNUP_SECRET_HEADER, WORKER_KEY_HEADER};
use rebuilderd_common::errors::{bail, Context};
use rebuilderd_common::errors::{Context, bail};

pub fn admin(cfg: &Config, req: &HttpRequest) -> rebuilderd_common::errors::Result<()> {
let auth_cookie = api::header(req, AUTH_COOKIE_HEADER).context("Failed to get auth cookie")?;
Expand Down
12 changes: 8 additions & 4 deletions daemon/src/api/v1/util/pagination.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,10 @@ where
)));
}

let mut conditions: Vec<Box<dyn Fn(&mut AstPass<'_, 'b, Sqlite>) -> QueryResult<()>>> =
Vec::new();
#[allow(clippy::type_complexity)]
let mut conditions: Vec<
Box<dyn Fn(&mut AstPass<'_, 'b, Sqlite>) -> QueryResult<()>>,
> = Vec::new();

if let Some(after) = &self.page.after {
conditions.push(Box::new(|ast| {
Expand Down Expand Up @@ -118,8 +120,10 @@ where

out.push_sql(&formatted);
} else {
let mut conditions: Vec<Box<dyn Fn(&mut AstPass<'_, 'b, Sqlite>) -> QueryResult<()>>> =
Vec::new();
#[allow(clippy::type_complexity)]
let mut conditions: Vec<
Box<dyn Fn(&mut AstPass<'_, 'b, Sqlite>) -> QueryResult<()>>,
> = Vec::new();

if let Some(after) = &self.page.after {
conditions.push(Box::new(|ast| {
Expand Down
6 changes: 3 additions & 3 deletions daemon/src/api/v1/worker.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ use crate::db::Pool;
use crate::models::NewWorker;
use crate::schema::workers;
use crate::web;
use actix_web::{delete, get, post, HttpRequest, HttpResponse, Responder};
use actix_web::{HttpRequest, HttpResponse, Responder, delete, get, post};
use chrono::Utc;
use diesel::{Connection, OptionalExtension, QueryDsl, RunQueryDsl, SqliteExpressionMethods};
use rebuilderd_common::api::v1::{Page, RegisterWorkerRequest, ResultPage};
use rebuilderd_common::api::WORKER_KEY_HEADER;
use rebuilderd_common::errors::{format_err, Context, Error};
use rebuilderd_common::api::v1::{Page, RegisterWorkerRequest, ResultPage};
use rebuilderd_common::errors::{Context, Error, format_err};
use std::net::IpAddr;

#[diesel::dsl::auto_type]
Expand Down
2 changes: 1 addition & 1 deletion daemon/src/code_migrations/code_migration.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::code_migrations::compress_logs::CompressLogsMigration;
use diesel::ExpressionMethods;
use diesel::migration::{Migration, MigrationVersion, Result};
use diesel::sqlite::Sqlite;
use diesel::ExpressionMethods;
use diesel::{Connection, RunQueryDsl, SqliteConnection};

pub trait CodeMigration {
Expand Down
2 changes: 1 addition & 1 deletion daemon/src/code_migrations/compress_logs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use crate::code_migrations::code_migration::CodeMigration;
use diesel::migration::Migration;
use diesel::sql_types::Binary;
use diesel::sqlite::Sqlite;
use diesel::{define_sql_function, sql_query, RunQueryDsl, SqliteConnection};
use diesel::{RunQueryDsl, SqliteConnection, define_sql_function, sql_query};
use log::info;

pub struct CompressLogsMigration;
Expand Down
2 changes: 1 addition & 1 deletion daemon/src/db.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use diesel::prelude::*;
use diesel::query_builder::{Query, QueryFragment, QueryId};
use diesel::r2d2::{self, ConnectionManager};
use diesel::sql_query;
use diesel_migrations::{embed_migrations, EmbeddedMigrations, MigrationHarness};
use diesel_migrations::{EmbeddedMigrations, MigrationHarness, embed_migrations};
use rebuilderd_common::errors::*;

pub const MIGRATIONS: EmbeddedMigrations = embed_migrations!("migrations");
Expand Down
4 changes: 2 additions & 2 deletions daemon/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::config::Config;
use actix_web::middleware::{Logger, TrailingSlash};
use actix_web::web::{scope, Data, JsonConfig};
use actix_web::{middleware, App, HttpServer};
use actix_web::web::{Data, JsonConfig, scope};
use actix_web::{App, HttpServer, middleware};
use in_toto::crypto::PrivateKey;
use rebuilderd_common::errors::*;
use std::sync::{Arc, RwLock};
Expand Down
2 changes: 1 addition & 1 deletion daemon/src/web.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pub use actix_web::web::{post, resource, Data, Json, JsonConfig, Path, Query};
pub use actix_web::web::{Data, Json, JsonConfig, Path, Query, post, resource};
use rebuilderd_common::errors;
use std::fmt;

Expand Down
2 changes: 1 addition & 1 deletion tests/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "rebuilderd-tests"
version = "0.25.0"
authors = ["kpcyrd <[email protected]>"]
edition = "2021"
edition = "2024"
publish = false

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
Expand Down
2 changes: 1 addition & 1 deletion tests/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ use rebuilderd::attestation::{self, Attestation};
use rebuilderd::config::Config;
use rebuilderd::db;
use rebuilderd::schema::{attestation_logs, rebuild_artifacts};
use rebuilderd_common::api::Client;
use rebuilderd_common::api::v1::{
ArtifactStatus, BinaryPackage, BinaryPackageReport, BuildRestApi, BuildStatus, JobAssignment,
MetaRestApi, PackageReport, PackageRestApi, PopQueuedJobRequest, Priority, QueueJobRequest,
QueueRestApi, RebuildArtifactReport, RebuildReport, RegisterWorkerRequest, SourcePackageReport,
WorkerRestApi,
};
use rebuilderd_common::api::Client;
use rebuilderd_common::config::*;
use rebuilderd_common::errors::*;
use rebuilderd_common::utils::{zstd_compress, zstd_decompress};
Expand Down
2 changes: 1 addition & 1 deletion tools/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description = "rebuilderd - rebuildctl client"
authors = ["kpcyrd <[email protected]>"]
license = "GPL-3.0-or-later"
repository = "https://github.com/kpcyrd/rebuilderd"
edition = "2021"
edition = "2024"

[package.metadata.deb]
assets = [
Expand Down
12 changes: 9 additions & 3 deletions tools/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ use colored::*;
use env_logger::Env;
use glob::Pattern;
use nom::AsBytes;
use rebuilderd_common::api::Client;
use rebuilderd_common::api::v1::{
ArtifactStatus, BinaryPackage, BuildRestApi, IdentityFilter, OriginFilter, PackageReport,
PackageRestApi, Page, Priority, QueueJobRequest, QueueRestApi, WorkerRestApi,
};
use rebuilderd_common::api::Client;
use rebuilderd_common::errors::*;
use rebuilderd_common::http;
use rebuilderd_common::utils;
Expand Down Expand Up @@ -173,13 +173,19 @@ async fn main() -> Result<()> {

// TODO: remove this after we've deprecated suite=
if let Some(suite) = profile.suite {
warn!("Deprecated option in config: replace `suite = \"{}\"` with `components = [\"{}\"]`", suite, suite);
warn!(
"Deprecated option in config: replace `suite = \"{}\"` with `components = [\"{}\"]`",
suite, suite
);
profile.components.push(suite)
}

// TODO: remove this after we've deprecated architecture=
if let Some(arch) = profile.architecture {
warn!("Deprecated option in config: replace `architecture = \"{}\"` with `architectures = [\"{}\"]`", arch, arch);
warn!(
"Deprecated option in config: replace `architecture = \"{}\"` with `architectures = [\"{}\"]`",
arch, arch
);
profile.architectures.push(arch)
}

Expand Down
6 changes: 4 additions & 2 deletions tools/src/schedule/archlinux.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use crate::args::PkgsSync;
use crate::decompress;
use crate::schedule::{fetch_url_or_path, Pkg};
use crate::schedule::{Pkg, fetch_url_or_path};
use nom::bytes::complete::take_till;
use rebuilderd_common::api::v1::{BinaryPackageReport, PackageReport, SourcePackageReport};
use rebuilderd_common::errors::*;
Expand Down Expand Up @@ -150,7 +150,9 @@ pub fn extract_pkgs(bytes: &[u8]) -> Result<Vec<ArchPkg>> {

pub async fn sync(http: &http::Client, sync: &PkgsSync) -> Result<Vec<PackageReport>> {
let source = if sync.source.ends_with(".db") {
warn!("Detected legacy configuration for source, use the new format instead: https://mirrors.kernel.org/archlinux/$repo/os/$arch");
warn!(
"Detected legacy configuration for source, use the new format instead: https://mirrors.kernel.org/archlinux/$repo/os/$arch"
);
"https://mirrors.kernel.org/archlinux/$repo/os/$arch"
} else {
&sync.source
Expand Down
14 changes: 7 additions & 7 deletions tools/src/schedule/debian.rs
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
use crate::args::PkgsSync;
use crate::schedule::{fetch_url_or_path, Pkg};
use crate::schedule::{Pkg, fetch_url_or_path};
use rebuilderd_common::api::v1::{BinaryPackageReport, PackageReport, SourcePackageReport};
use rebuilderd_common::errors::*;
use rebuilderd_common::http;
use std::collections::HashMap;
use std::io::prelude::*;
use std::io::BufReader;
use std::io::prelude::*;
use xz2::read::XzDecoder;

pub const BIN_NMU_PREFIX: &str = "+b";
Expand Down Expand Up @@ -243,11 +243,11 @@ pub fn extract_pkgs_uncompressed<T: AnyhowTryFrom<NewPkg>, R: BufRead>(r: R) ->
let mut value = b.to_string();
while value.ends_with(',') {
if let Some(line) = lines.peek() {
if let Ok(line) = line {
if !line.starts_with(' ') {
warn!("Line ended with comma, but next line is not multi-line");
break;
}
if let Ok(line) = line
&& !line.starts_with(' ')
{
warn!("Line ended with comma, but next line is not multi-line");
break;
}
} else {
break;
Expand Down
Loading
Loading