mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 18:31:52 +00:00
Compare commits
5 Commits
master
...
next/patch
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e06b068033 | ||
|
|
2b88555028 | ||
|
|
d44de670cd | ||
|
|
cb63025078 | ||
|
|
685e865b42 |
@@ -41,6 +41,7 @@ qemu-guest-agent
|
|||||||
rsync
|
rsync
|
||||||
samba-common-bin
|
samba-common-bin
|
||||||
smartmontools
|
smartmontools
|
||||||
|
socat
|
||||||
sqlite3
|
sqlite3
|
||||||
squashfs-tools
|
squashfs-tools
|
||||||
sudo
|
sudo
|
||||||
|
|||||||
2
core/Cargo.lock
generated
2
core/Cargo.lock
generated
@@ -4924,7 +4924,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "start-os"
|
name = "start-os"
|
||||||
version = "0.3.5-rev.1"
|
version = "0.3.5-rev.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes",
|
"aes",
|
||||||
"async-compression",
|
"async-compression",
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ keywords = [
|
|||||||
name = "start-os"
|
name = "start-os"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
repository = "https://github.com/Start9Labs/start-os"
|
repository = "https://github.com/Start9Labs/start-os"
|
||||||
version = "0.3.5-rev.1"
|
version = "0.3.5-rev.2"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
|
|||||||
@@ -29,7 +29,15 @@ impl ManagerSeed {
|
|||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
{
|
{
|
||||||
Err(e) if e.kind == ErrorKind::NotFound => (), // Already stopped
|
Err(e) if e.kind == ErrorKind::NotFound => {
|
||||||
|
tracing::info!(
|
||||||
|
"Command for package {command_id} should already be stopped",
|
||||||
|
command_id = &self.manifest.id
|
||||||
|
);
|
||||||
|
} // Already stopped
|
||||||
|
Err(e) if e.kind == ErrorKind::Timeout => {
|
||||||
|
tracing::warn!("Command for package {command_id} had to be timed out, but we have dropped which means it should be killed", command_id = &self.manifest.id);
|
||||||
|
} // Already stopped In theory
|
||||||
a => a?,
|
a => a?,
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|||||||
@@ -113,6 +113,7 @@ pub async fn stop_container(
|
|||||||
signal: Option<Signal>,
|
signal: Option<Signal>,
|
||||||
) -> Result<(), Error> {
|
) -> Result<(), Error> {
|
||||||
let mut cmd = Command::new(CONTAINER_TOOL);
|
let mut cmd = Command::new(CONTAINER_TOOL);
|
||||||
|
let mut cmd = cmd.timeout(timeout);
|
||||||
cmd.arg("stop");
|
cmd.arg("stop");
|
||||||
if let Some(dur) = timeout {
|
if let Some(dur) = timeout {
|
||||||
cmd.arg("-t").arg(dur.as_secs().to_string());
|
cmd.arg("-t").arg(dur.as_secs().to_string());
|
||||||
|
|||||||
@@ -15,8 +15,9 @@ mod v0_3_4_3;
|
|||||||
mod v0_3_4_4;
|
mod v0_3_4_4;
|
||||||
mod v0_3_5;
|
mod v0_3_5;
|
||||||
mod v0_3_5_1;
|
mod v0_3_5_1;
|
||||||
|
mod v0_3_5_2;
|
||||||
|
|
||||||
pub type Current = v0_3_5_1::Version;
|
pub type Current = v0_3_5_2::Version;
|
||||||
|
|
||||||
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone)]
|
#[derive(serde::Serialize, serde::Deserialize, Debug, Clone)]
|
||||||
#[serde(untagged)]
|
#[serde(untagged)]
|
||||||
@@ -28,6 +29,7 @@ enum Version {
|
|||||||
V0_3_4_4(Wrapper<v0_3_4_4::Version>),
|
V0_3_4_4(Wrapper<v0_3_4_4::Version>),
|
||||||
V0_3_5(Wrapper<v0_3_5::Version>),
|
V0_3_5(Wrapper<v0_3_5::Version>),
|
||||||
V0_3_5_1(Wrapper<v0_3_5_1::Version>),
|
V0_3_5_1(Wrapper<v0_3_5_1::Version>),
|
||||||
|
V0_3_5_2(Wrapper<v0_3_5_2::Version>),
|
||||||
Other(emver::Version),
|
Other(emver::Version),
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,6 +52,7 @@ impl Version {
|
|||||||
Version::V0_3_4_4(Wrapper(x)) => x.semver(),
|
Version::V0_3_4_4(Wrapper(x)) => x.semver(),
|
||||||
Version::V0_3_5(Wrapper(x)) => x.semver(),
|
Version::V0_3_5(Wrapper(x)) => x.semver(),
|
||||||
Version::V0_3_5_1(Wrapper(x)) => x.semver(),
|
Version::V0_3_5_1(Wrapper(x)) => x.semver(),
|
||||||
|
Version::V0_3_5_2(Wrapper(x)) => x.semver(),
|
||||||
Version::Other(x) => x.clone(),
|
Version::Other(x) => x.clone(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -176,6 +179,7 @@ pub async fn init(db: &PatchDb, secrets: &PgPool) -> Result<(), Error> {
|
|||||||
Version::V0_3_4_4(v) => v.0.migrate_to(&Current::new(), db.clone(), secrets).await?,
|
Version::V0_3_4_4(v) => v.0.migrate_to(&Current::new(), db.clone(), secrets).await?,
|
||||||
Version::V0_3_5(v) => v.0.migrate_to(&Current::new(), db.clone(), secrets).await?,
|
Version::V0_3_5(v) => v.0.migrate_to(&Current::new(), db.clone(), secrets).await?,
|
||||||
Version::V0_3_5_1(v) => v.0.migrate_to(&Current::new(), db.clone(), secrets).await?,
|
Version::V0_3_5_1(v) => v.0.migrate_to(&Current::new(), db.clone(), secrets).await?,
|
||||||
|
Version::V0_3_5_2(v) => v.0.migrate_to(&Current::new(), db.clone(), secrets).await?,
|
||||||
Version::Other(_) => {
|
Version::Other(_) => {
|
||||||
return Err(Error::new(
|
return Err(Error::new(
|
||||||
eyre!("Cannot downgrade"),
|
eyre!("Cannot downgrade"),
|
||||||
@@ -215,6 +219,7 @@ mod tests {
|
|||||||
Just(Version::V0_3_4_4(Wrapper(v0_3_4_4::Version::new()))),
|
Just(Version::V0_3_4_4(Wrapper(v0_3_4_4::Version::new()))),
|
||||||
Just(Version::V0_3_5(Wrapper(v0_3_5::Version::new()))),
|
Just(Version::V0_3_5(Wrapper(v0_3_5::Version::new()))),
|
||||||
Just(Version::V0_3_5_1(Wrapper(v0_3_5_1::Version::new()))),
|
Just(Version::V0_3_5_1(Wrapper(v0_3_5_1::Version::new()))),
|
||||||
|
Just(Version::V0_3_5_2(Wrapper(v0_3_5_2::Version::new()))),
|
||||||
em_version().prop_map(Version::Other),
|
em_version().prop_map(Version::Other),
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
32
core/startos/src/version/v0_3_5_2.rs
Normal file
32
core/startos/src/version/v0_3_5_2.rs
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
use async_trait::async_trait;
|
||||||
|
use emver::VersionRange;
|
||||||
|
use sqlx::PgPool;
|
||||||
|
|
||||||
|
use super::VersionT;
|
||||||
|
use super::{v0_3_4::V0_3_0_COMPAT, v0_3_5_1};
|
||||||
|
use crate::prelude::*;
|
||||||
|
|
||||||
|
const V0_3_5_2: emver::Version = emver::Version::new(0, 3, 5, 2);
|
||||||
|
|
||||||
|
#[derive(Clone, Debug)]
|
||||||
|
pub struct Version;
|
||||||
|
|
||||||
|
#[async_trait]
|
||||||
|
impl VersionT for Version {
|
||||||
|
type Previous = v0_3_5_1::Version;
|
||||||
|
fn new() -> Self {
|
||||||
|
Version
|
||||||
|
}
|
||||||
|
fn semver(&self) -> emver::Version {
|
||||||
|
V0_3_5_2
|
||||||
|
}
|
||||||
|
fn compat(&self) -> &'static VersionRange {
|
||||||
|
&V0_3_0_COMPAT
|
||||||
|
}
|
||||||
|
async fn up(&self, _db: PatchDb, _secrets: &PgPool) -> Result<(), Error> {
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
async fn down(&self, _db: PatchDb, _secrets: &PgPool) -> Result<(), Error> {
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "startos-ui",
|
"name": "startos-ui",
|
||||||
"version": "0.3.5.1",
|
"version": "0.3.5.2",
|
||||||
"author": "Start9 Labs, Inc",
|
"author": "Start9 Labs, Inc",
|
||||||
"homepage": "https://start9.com/",
|
"homepage": "https://start9.com/",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": null,
|
"name": null,
|
||||||
"ack-welcome": "0.3.5.1",
|
"ack-welcome": "0.3.5.2",
|
||||||
"marketplace": {
|
"marketplace": {
|
||||||
"selected-url": "https://registry.start9.com/",
|
"selected-url": "https://registry.start9.com/",
|
||||||
"known-hosts": {
|
"known-hosts": {
|
||||||
|
|||||||
@@ -12,11 +12,11 @@
|
|||||||
<ion-content class="ion-padding">
|
<ion-content class="ion-padding">
|
||||||
<h2>This Release</h2>
|
<h2>This Release</h2>
|
||||||
|
|
||||||
<h4>0.3.5.1</h4>
|
<h4>0.3.5.2</h4>
|
||||||
<p class="note-padding">
|
<p class="note-padding">
|
||||||
View the complete
|
View the complete
|
||||||
<a
|
<a
|
||||||
href="https://github.com/Start9Labs/start-os/releases/tag/v0.3.5.1"
|
href="https://github.com/Start9Labs/start-os/releases/tag/v0.3.5.2"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
noreferrer
|
noreferrer
|
||||||
>
|
>
|
||||||
@@ -32,6 +32,19 @@
|
|||||||
|
|
||||||
<h2>Previous 0.3.5.x Releases</h2>
|
<h2>Previous 0.3.5.x Releases</h2>
|
||||||
|
|
||||||
|
<h4>0.3.5.1</h4>
|
||||||
|
<p class="note-padding">
|
||||||
|
View the complete
|
||||||
|
<a
|
||||||
|
href="https://github.com/Start9Labs/start-os/releases/tag/v0.3.5.1"
|
||||||
|
target="_blank"
|
||||||
|
noreferrer
|
||||||
|
>
|
||||||
|
release notes
|
||||||
|
</a>
|
||||||
|
for more details.
|
||||||
|
</p>
|
||||||
|
|
||||||
<h4>0.3.5</h4>
|
<h4>0.3.5</h4>
|
||||||
<p class="note-padding">
|
<p class="note-padding">
|
||||||
View the complete
|
View the complete
|
||||||
|
|||||||
@@ -21,9 +21,10 @@ export module Mock {
|
|||||||
'shutting-down': false,
|
'shutting-down': false,
|
||||||
}
|
}
|
||||||
export const MarketplaceEos: RR.GetMarketplaceEosRes = {
|
export const MarketplaceEos: RR.GetMarketplaceEosRes = {
|
||||||
version: '0.3.5.1',
|
version: '0.3.5.2',
|
||||||
headline: 'Our biggest release ever.',
|
headline: 'Our biggest release ever.',
|
||||||
'release-notes': {
|
'release-notes': {
|
||||||
|
'0.3.5.2': 'Some **Markdown** release _notes_ for 0.3.5.2',
|
||||||
'0.3.5.1': 'Some **Markdown** release _notes_ for 0.3.5.1',
|
'0.3.5.1': 'Some **Markdown** release _notes_ for 0.3.5.1',
|
||||||
'0.3.4.4': 'Some **Markdown** release _notes_ for 0.3.4.4',
|
'0.3.4.4': 'Some **Markdown** release _notes_ for 0.3.4.4',
|
||||||
'0.3.4.3': 'Some **Markdown** release _notes_ for 0.3.4.3',
|
'0.3.4.3': 'Some **Markdown** release _notes_ for 0.3.4.3',
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export const mockPatchData: DataModel = {
|
|||||||
},
|
},
|
||||||
'server-info': {
|
'server-info': {
|
||||||
id: 'abcdefgh',
|
id: 'abcdefgh',
|
||||||
version: '0.3.5.1',
|
version: '0.3.5.2',
|
||||||
'last-backup': new Date(new Date().valueOf() - 604800001).toISOString(),
|
'last-backup': new Date(new Date().valueOf() - 604800001).toISOString(),
|
||||||
'lan-address': 'https://adjective-noun.local',
|
'lan-address': 'https://adjective-noun.local',
|
||||||
'tor-address': 'https://myveryownspecialtoraddress.onion',
|
'tor-address': 'https://myveryownspecialtoraddress.onion',
|
||||||
|
|||||||
Reference in New Issue
Block a user