!31 upgrade version to 0.17.0

From: @duyiwei7w 
Reviewed-by: @jianli-97 
Signed-off-by: @jianli-97
This commit is contained in:
openeuler-ci-bot 2024-01-23 08:04:01 +00:00 committed by Gitee
commit 2b1476e07d
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
4 changed files with 8 additions and 344 deletions

View File

@ -1,334 +0,0 @@
From 3d3049e055cd56b4e72f44e212d7b2c5392975d4 Mon Sep 17 00:00:00 2001
From: wangyueliang <wangyueliang@kylinos.cn>
Date: Wed, 27 Dec 2023 11:28:19 +0800
Subject: [PATCH] adapt to NestOS patch
---
src/bin/rdcore/rootmap.rs | 2 +-
src/cmdline/install.rs | 15 +++++------
src/cmdline/mod.rs | 54 ++++++++++++++++++++-------------------
src/install.rs | 3 +++
src/iso9660.rs | 3 +++
src/live/customize.rs | 2 +-
src/live/embed.rs | 2 +-
src/live/mod.rs | 2 +-
src/main.rs | 5 ++--
src/source.rs | 2 +-
10 files changed, 49 insertions(+), 41 deletions(-)
diff --git a/src/bin/rdcore/rootmap.rs b/src/bin/rdcore/rootmap.rs
index fbe85b3..c305f16 100644
--- a/src/bin/rdcore/rootmap.rs
+++ b/src/bin/rdcore/rootmap.rs
@@ -52,7 +52,7 @@ pub fn rootmap(config: RootmapConfig) -> Result<()> {
// systemd-fstab-generator, and it defaults to read-only otherwise
kargs.push("rw".into());
- let rootflags = runcmd_output!("coreos-rootflags", &config.root_mount)?;
+ let rootflags = runcmd_output!("nestos-rootflags", &config.root_mount)?;
let rootflags = rootflags.trim();
if !rootflags.is_empty() {
kargs.push(format!("rootflags={}", rootflags));
diff --git a/src/cmdline/install.rs b/src/cmdline/install.rs
index e04901e..f0eed2e 100644
--- a/src/cmdline/install.rs
+++ b/src/cmdline/install.rs
@@ -74,10 +74,10 @@ pub struct InstallConfig {
pub config_file: Vec<String>,
// ways to specify the image source
- /// Fedora CoreOS stream
+ /// NestOS release stream
///
- /// The name of the Fedora CoreOS stream to install, such as "stable",
- /// "testing", or "next".
+ /// The name of the NestOS release stream to install,
+ /// temporarily closed before NestOS Stream is ready.
#[clap(short, long, value_name = "name")]
#[clap(conflicts_with = "image-file", conflicts_with = "image-url")]
pub stream: Option<String>,
@@ -134,7 +134,7 @@ pub struct InstallConfig {
/// Additional kernel args for the first boot
// This used to be for configuring networking from the cmdline, but it has
// been obsoleted by the nicer `--copy-network` approach. We still need it
- // for now though. It's used at least by `coreos-installer.service`.
+ // for now though. It's used at least by `nestos-installer.service`.
#[serde(skip)]
#[clap(long, hide = true, value_name = "args")]
pub firstboot_args: Option<String>,
@@ -200,16 +200,15 @@ pub struct InstallConfig {
#[serde(skip_serializing_if = "is_default")]
#[clap(long, help_heading = ADVANCED)]
pub insecure_ignition: bool,
- /// Base URL for CoreOS stream metadata
+ /// Base URL for NestOS release stream metadata
///
- /// Override the base URL for fetching CoreOS stream metadata.
- /// The default is "https://builds.coreos.fedoraproject.org/streams/".
+ /// Temporarily closed before NestOS Stream is ready.
#[serde_as(as = "Option<DisplayFromStr>")]
#[clap(long, value_name = "URL", help_heading = ADVANCED)]
pub stream_base_url: Option<Url>,
/// Don't clear partition table on error
///
- /// If installation fails, coreos-installer normally clears the
+ /// If installation fails, nestos-installer normally clears the
/// destination's partition table to prevent booting from invalid
/// boot media. Skip clearing the partition table as a debugging aid.
#[serde(skip_serializing_if = "is_default")]
diff --git a/src/cmdline/mod.rs b/src/cmdline/mod.rs
index 6fcfe8f..b990232 100644
--- a/src/cmdline/mod.rs
+++ b/src/cmdline/mod.rs
@@ -34,7 +34,9 @@ pub use self::types::*;
// Args are listed in --help in the order declared in these structs/enums.
// Please keep the entire help text to 80 columns.
-/// Installer for Fedora CoreOS and RHEL CoreOS
+/// Installer for NestOS.
+///
+/// NestOS is a Variant in openEuler from Fedora CoreOS.
#[derive(Debug, Parser)]
#[clap(version)]
#[clap(global_setting(AppSettings::DeriveDisplayOrder))]
@@ -42,16 +44,16 @@ pub use self::types::*;
#[clap(disable_help_subcommand = true)]
#[clap(help_expected = true)]
pub enum Cmd {
- /// Install Fedora CoreOS or RHEL CoreOS
+ /// Install NestOS
Install(InstallConfig),
- /// Download a CoreOS image
- Download(DownloadConfig),
- /// List available images in a Fedora CoreOS stream
- ListStream(ListStreamConfig),
- /// Commands to manage a CoreOS live ISO image
+ /// Download a NestOS image
+ //Download(DownloadConfig),
+ /// List available images in a NestOS release stream
+ //ListStream(ListStreamConfig),
+ /// Commands to manage a NestOS live ISO image
#[clap(subcommand)]
Iso(IsoCmd),
- /// Commands to manage a CoreOS live PXE image
+ /// Commands to manage a NestOS live PXE image
#[clap(subcommand)]
Pxe(PxeCmd),
/// Metadata packing commands used when building an OS image
@@ -76,21 +78,21 @@ pub enum IsoCmd {
// deprecated
#[clap(hide = true)]
Remove(IsoRemoveConfig),
- /// Customize a CoreOS live ISO image
+ /// Customize a NestOS live ISO image
Customize(IsoCustomizeConfig),
- /// Embed an Ignition config in a CoreOS live ISO image
+ /// Embed an Ignition config in a NestOS live ISO image
#[clap(subcommand)]
Ignition(IsoIgnitionCmd),
- /// Embed network settings in a CoreOS live ISO image
+ /// Embed network settings in a NestOS live ISO image
#[clap(subcommand)]
Network(IsoNetworkCmd),
- /// Modify kernel args in a CoreOS live ISO image
+ /// Modify kernel args in a NestOS live ISO image
#[clap(subcommand)]
Kargs(IsoKargsCmd),
- /// Commands to extract files from a CoreOS live ISO image
+ /// Commands to extract files from a NestOS live ISO image
#[clap(subcommand)]
Extract(IsoExtractCmd),
- /// Restore a CoreOS live ISO image to default settings
+ /// Restore a NestOS live ISO image to default settings
Reset(IsoResetConfig),
}
@@ -128,7 +130,7 @@ pub enum IsoKargsCmd {
pub enum IsoExtractCmd {
/// Extract PXE files from an ISO image
Pxe(IsoExtractPxeConfig),
- /// Extract a minimal ISO from a CoreOS live ISO image
+ /// Extract a minimal ISO from a NestOS live ISO image
MinimalIso(IsoExtractMinimalIsoConfig),
}
@@ -164,11 +166,11 @@ pub enum PxeNetworkCmd {
// users shouldn't be interacting with this command normally
#[clap(hide = true)]
pub enum PackCmd {
- /// Create osmet file from CoreOS block device
+ /// Create osmet file from NestOS block device
Osmet(PackOsmetConfig),
- /// Pack a minimal ISO into a CoreOS live ISO image
+ /// Pack a minimal ISO into a NestOS live ISO image
MinimalIso(PackMinimalIsoConfig),
- /// Generate man pages for coreos-installer
+ /// Generate man pages for nestos-installer
#[cfg(feature = "docgen")]
Man(PackManConfig),
/// Generate example config file for install subcommand
@@ -190,7 +192,7 @@ pub enum DevCmd {
#[derive(Debug, Parser)]
pub enum DevShowCmd {
- /// Inspect the CoreOS live ISO image
+ /// Inspect the NestOS live ISO image
Iso(DevShowIsoConfig),
/// Show the contents of an initrd image
Initrd(DevShowInitrdConfig),
@@ -208,13 +210,13 @@ pub enum DevExtractCmd {
#[derive(Debug, Parser)]
pub struct DownloadConfig {
- /// Fedora CoreOS stream
+ /// NestOS release stream
#[clap(short, long, value_name = "name", default_value = "stable")]
pub stream: String,
/// Target CPU architecture
#[clap(short, long, value_name = "name", default_value_t)]
pub architecture: DefaultedString<Architecture>,
- /// Fedora CoreOS platform name
+ /// NestOS platform name
#[clap(short, long, value_name = "name", default_value = "metal")]
pub platform: String,
/// Image format
@@ -232,7 +234,7 @@ pub struct DownloadConfig {
/// Skip signature verification
#[clap(long)]
pub insecure: bool,
- /// Base URL for Fedora CoreOS stream metadata
+ /// Base URL for NestOS release stream metadata
#[clap(long, value_name = "URL")]
pub stream_base_url: Option<Url>,
/// Fetch retries, or "infinite"
@@ -242,10 +244,10 @@ pub struct DownloadConfig {
#[derive(Debug, Parser)]
pub struct ListStreamConfig {
- /// Fedora CoreOS stream
+ /// NestOS release stream
#[clap(short, long, value_name = "name", default_value = "stable")]
pub stream: String,
- /// Base URL for Fedora CoreOS stream metadata
+ /// Base URL for NestOS release stream metadata
#[clap(long, value_name = "URL")]
pub stream_base_url: Option<Url>,
}
@@ -326,7 +328,7 @@ pub struct CommonCustomizeConfig {
pub post_install: Vec<String>,
/// Installer config file
///
- /// Automatically run coreos-installer and apply the specified installer
+ /// Automatically run nestos-installer and apply the specified installer
/// config file. Config files are applied in the order that they are
/// specified.
#[clap(long, value_name = "path")]
@@ -634,7 +636,7 @@ pub struct PxeCustomizeConfig {
/// Output file
#[clap(short, long, value_name = "path")]
pub output: String,
- /// CoreOS live initramfs image
+ /// NestOS live initramfs image
#[clap(value_name = "path")]
pub input: String,
}
diff --git a/src/install.rs b/src/install.rs
index 745651d..42363a0 100644
--- a/src/install.rs
+++ b/src/install.rs
@@ -122,6 +122,9 @@ pub fn install(config: InstallConfig) -> Result<()> {
None => bail!("cannot perform offline install; metadata missing"),
}
} else {
+ //Temporarily closed before NestOS Stream is ready.
+ bail!("The --stream is not currently supported until NestOS release stream is ready.");
+
// For now, using --stream automatically will cause a download. In the future, we could
// opportunistically use osmet if the version and stream match an osmet file/the live ISO.
diff --git a/src/iso9660.rs b/src/iso9660.rs
index 531d133..01e347a 100644
--- a/src/iso9660.rs
+++ b/src/iso9660.rs
@@ -127,6 +127,9 @@ impl IsoFs {
.with_context(|| format!("listing directory {}", dir.name))?
{
let record = record?;
+ if name == "OPENEULER"{
+ return Ok(Some(record))
+ }
match &record {
DirectoryRecord::Directory(d) if d.name == name => return Ok(Some(record)),
DirectoryRecord::File(f) if f.name == name => return Ok(Some(record)),
diff --git a/src/live/customize.rs b/src/live/customize.rs
index 5aee32b..04ed919 100644
--- a/src/live/customize.rs
+++ b/src/live/customize.rs
@@ -30,7 +30,7 @@ use super::util::filename;
pub(super) const INITRD_FEATURES_PATH: &str = "etc/nestos/features.json";
-const COREOS_ISO_FEATURES_PATH: &str = "COREOS/FEATURES.JSO";
+const COREOS_ISO_FEATURES_PATH: &str = "NESTOS/FEATURES.JSO";
/// CoreOS feature flags in /etc/coreos/features.json in the live initramfs
/// and /coreos/features.json in the live ISO. Written by
diff --git a/src/live/embed.rs b/src/live/embed.rs
index cbfdf95..334e860 100644
--- a/src/live/embed.rs
+++ b/src/live/embed.rs
@@ -42,7 +42,7 @@ const COREOS_KARG_EMBED_AREA_HEADER_MAGIC: &[u8] = b"coreKarg";
const COREOS_KARG_EMBED_AREA_HEADER_SIZE: u64 = 72;
const COREOS_KARG_EMBED_AREA_HEADER_MAX_OFFSETS: usize = 6;
const COREOS_KARG_EMBED_AREA_MAX_SIZE: usize = 2048;
-const COREOS_KARG_EMBED_INFO_PATH: &str = "COREOS/KARGS.JSO";
+const COREOS_KARG_EMBED_INFO_PATH: &str = "NESTOS/KARGS.JSO";
pub(super) struct IsoConfig {
initrd: InitrdEmbedArea,
diff --git a/src/live/mod.rs b/src/live/mod.rs
index f80dcbc..051dae7 100644
--- a/src/live/mod.rs
+++ b/src/live/mod.rs
@@ -39,7 +39,7 @@ use self::util::*;
const INITRD_LIVE_STAMP_PATH: &str = "etc/nestos-live-initramfs";
const COREOS_ISO_PXEBOOT_DIR: &str = "IMAGES/PXEBOOT";
const COREOS_ISO_ROOTFS_IMG: &str = "IMAGES/PXEBOOT/ROOTFS.IMG";
-const COREOS_ISO_MINISO_FILE: &str = "COREOS/MINISO.DAT";
+const COREOS_ISO_MINISO_FILE: &str = "NESTOS/MINISO.DAT";
lazy_static! {
static ref ALL_GLOB: GlobMatcher = GlobMatcher::new(&["*"]).unwrap();
diff --git a/src/main.rs b/src/main.rs
index 539b121..09849f8 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -21,9 +21,10 @@ use cmdline::*;
fn main() -> Result<()> {
match Cmd::parse() {
- Cmd::Download(c) => download::download(c),
+ //Temporarily closed Download and ListStream before NestOS Stream is ready.
+ //Cmd::Download(c) => download::download(c),
Cmd::Install(c) => install::install(c),
- Cmd::ListStream(c) => source::list_stream(c),
+ //Cmd::ListStream(c) => source::list_stream(c),
Cmd::Iso(c) => match c {
IsoCmd::Customize(c) => live::iso_customize(c),
IsoCmd::Embed(c) => live::iso_embed(c),
diff --git a/src/source.rs b/src/source.rs
index cef04ff..a7d08f6 100644
--- a/src/source.rs
+++ b/src/source.rs
@@ -33,7 +33,7 @@ use crate::util::set_die_on_sigpipe;
const HTTP_COMPLETION_TIMEOUT: Duration = Duration::from_secs(4 * 60 * 60);
/// Default base URL to Fedora CoreOS streams metadata.
-const DEFAULT_STREAM_BASE_URL: &str = "https://builds.coreos.fedoraproject.org/streams/";
+const DEFAULT_STREAM_BASE_URL: &str = "https://nestos.org.cn/NestOS-release/streams/";
/// Directory in which we look for osmet files.
const OSMET_FILES_DIR: &str = "/run/nestos-installer/osmet";
--
2.25.1

View File

@ -8,18 +8,17 @@
%global crate nestos-installer
Name: rust-nestos-installer
Version: 0.16.0
Release: 5
Version: 0.17.0
Release: 1
Summary: Installer for NestOS
License: Apache-2.0
URL: https://gitee.com/openeuler/nestos-installer
Source0: https://gitee.com/openeuler/nestos-installer/repository/archive/v%{version}.tar.gz
Source1: %{crate}-%{version}-vendor.tar.gz
Patch01: 0001-adapt-to-NestOS-patch.patch
BuildRequires: rust-packaging openssl-devel zstd-devel
BuildRequires: systemd
BuildRequires: rust-packaging openssl-devel libzstd-devel
BuildRequires: systemd gnupg2
%global _description %{expand:
nestos-installer installs NestOS to bare-metal
@ -56,11 +55,7 @@ Obsoletes: nestos-installer-dracut < 0.0.1
%prep
%autosetup -n %{crate}-v%{version} -p1
mkdir -p vendor
tar xvf %{SOURCE1} -C vendor
%cargo_prep
sed -i 's/"-Ccodegen-units=1",//' .cargo/config
tar xvf %{SOURCE1}
mkdir -p .cargo
cat >.cargo/config << EOF
@ -111,6 +106,9 @@ This subpackage contains boot-time infrastructure for NestOS. It is not needed
%changelog
* Tue Jan 23 2024 duyiwei <duyiwei@kylinos.cn> - 0.17.0-1
- upgrade version to 0.17.0
* Wed Dec 27 2023 wangyueliang <wangyueliang@kylinos.cn> - 0.16.0-5
- unify adapt to NestOS patches

Binary file not shown.