sync patches from upstream
This commit is contained in:
parent
a991f34cda
commit
8e3a08dc44
@ -0,0 +1,34 @@
|
|||||||
|
From aa5a4cdf094af6660ff718ef0de566aaa97a4698 Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhangyao2022 <zhangyao108@huawei.com>
|
||||||
|
Date: Mon, 4 Dec 2023 15:03:00 +0800
|
||||||
|
Subject: [PATCH] fix: change the DefaultDependencies configuration to true
|
||||||
|
|
||||||
|
---
|
||||||
|
core/sysmaster/src/unit/rentry.rs | 2 +-
|
||||||
|
units/syslog.target | 1 +
|
||||||
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/core/sysmaster/src/unit/rentry.rs b/core/sysmaster/src/unit/rentry.rs
|
||||||
|
index 21eddd2..d7cfc4c 100755
|
||||||
|
--- a/core/sysmaster/src/unit/rentry.rs
|
||||||
|
+++ b/core/sysmaster/src/unit/rentry.rs
|
||||||
|
@@ -144,7 +144,7 @@ pub(crate) struct UeConfigUnit {
|
||||||
|
//When set to true, the unit will not be stopped when systemctl isolate is executed. For service, target, socket timer and path, the default value is false. For other units, the default value is true
|
||||||
|
#[entry(default = false)]
|
||||||
|
pub IgnoreOnIsolate: bool,
|
||||||
|
- #[entry(default = false)]
|
||||||
|
+ #[entry(default = true)]
|
||||||
|
pub DefaultDependencies: bool,
|
||||||
|
#[entry(default = false)]
|
||||||
|
pub RefuseManualStart: bool,
|
||||||
|
diff --git a/units/syslog.target b/units/syslog.target
|
||||||
|
index 3057814..901bdf6 100644
|
||||||
|
--- a/units/syslog.target
|
||||||
|
+++ b/units/syslog.target
|
||||||
|
@@ -1,2 +1,3 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Initialize syslog
|
||||||
|
+DefaultDependencies=false
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
52
backport-fix-fixed-ListenNetlink-parsing.patch
Normal file
52
backport-fix-fixed-ListenNetlink-parsing.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
From 8bc1a7afdac5d9c2f174b141b32dc2b58deef1ee Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhangyao2022 <zhangyao108@huawei.com>
|
||||||
|
Date: Mon, 27 Nov 2023 10:44:12 +0800
|
||||||
|
Subject: [PATCH] fix: fixed ListenNetlink parsing
|
||||||
|
|
||||||
|
---
|
||||||
|
core/coms/socket/src/config.rs | 2 +-
|
||||||
|
core/coms/socket/src/rentry.rs | 8 ++++++--
|
||||||
|
2 files changed, 7 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/core/coms/socket/src/config.rs b/core/coms/socket/src/config.rs
|
||||||
|
index 69cdc32..9585d5f 100755
|
||||||
|
--- a/core/coms/socket/src/config.rs
|
||||||
|
+++ b/core/coms/socket/src/config.rs
|
||||||
|
@@ -207,7 +207,7 @@ impl SocketConfig {
|
||||||
|
let config = &self.data.borrow().Socket;
|
||||||
|
self.parse_sockets(config.ListenStream.as_ref(), ListenItem::Stream)?;
|
||||||
|
self.parse_sockets(config.ListenDatagram.as_ref(), ListenItem::Datagram)?;
|
||||||
|
- self.parse_sockets(&[config.ListenNetlink.clone()], ListenItem::Netlink)?;
|
||||||
|
+ self.parse_sockets(config.ListenNetlink.as_ref(), ListenItem::Netlink)?;
|
||||||
|
self.parse_sockets(
|
||||||
|
config.ListenSequentialPacket.as_ref(),
|
||||||
|
ListenItem::SequentialPacket,
|
||||||
|
diff --git a/core/coms/socket/src/rentry.rs b/core/coms/socket/src/rentry.rs
|
||||||
|
index 8b20c7e..3a25761 100755
|
||||||
|
--- a/core/coms/socket/src/rentry.rs
|
||||||
|
+++ b/core/coms/socket/src/rentry.rs
|
||||||
|
@@ -42,6 +42,10 @@ fn deserialize_pathbuf_vec(s: &str) -> Result<Vec<PathBuf>, core::error::Error>
|
||||||
|
Ok(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
+fn deserialize_netlink_vec(s: &str) -> Result<Vec<String>, core::error::Error> {
|
||||||
|
+ Ok(vec![s.to_string()])
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
#[derive(UnitSection, Default, Clone, Debug, Serialize, Deserialize)]
|
||||||
|
#[allow(dead_code)]
|
||||||
|
pub(super) struct SectionSocket {
|
||||||
|
@@ -60,8 +64,8 @@ pub(super) struct SectionSocket {
|
||||||
|
pub ListenStream: Vec<String>,
|
||||||
|
#[entry(multiple)]
|
||||||
|
pub ListenDatagram: Vec<String>,
|
||||||
|
- #[entry(default = String::new())]
|
||||||
|
- pub ListenNetlink: String,
|
||||||
|
+ #[entry(multiple, myparser = deserialize_netlink_vec)]
|
||||||
|
+ pub ListenNetlink: Vec<String>,
|
||||||
|
#[entry(multiple)]
|
||||||
|
pub ListenSequentialPacket: Vec<String>,
|
||||||
|
#[entry(multiple)]
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
59
backport-fix-fixed-parsing-SocketMode-incorrectly.patch
Normal file
59
backport-fix-fixed-parsing-SocketMode-incorrectly.patch
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
From 461a4e7a0bf9d951d6819f7291db965d6009ff4a Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhangyao2022 <zhangyao108@huawei.com>
|
||||||
|
Date: Mon, 4 Dec 2023 20:23:21 +0800
|
||||||
|
Subject: [PATCH] fix: fixed parsing SocketMode incorrectly
|
||||||
|
|
||||||
|
---
|
||||||
|
core/coms/socket/src/rentry.rs | 25 ++++++++++++++++++++++++-
|
||||||
|
1 file changed, 24 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/core/coms/socket/src/rentry.rs b/core/coms/socket/src/rentry.rs
|
||||||
|
index 3a25761..57da556 100755
|
||||||
|
--- a/core/coms/socket/src/rentry.rs
|
||||||
|
+++ b/core/coms/socket/src/rentry.rs
|
||||||
|
@@ -42,6 +42,12 @@ fn deserialize_pathbuf_vec(s: &str) -> Result<Vec<PathBuf>, core::error::Error>
|
||||||
|
Ok(res)
|
||||||
|
}
|
||||||
|
|
||||||
|
+fn deserialize_parse_mode(s: &str) -> Result<u32, core::error::Error> {
|
||||||
|
+ u32::from_str_radix(s, 8).map_err(|_| core::error::Error::ConfigureError {
|
||||||
|
+ msg: format!("Invalid SocketMode: {}", s),
|
||||||
|
+ })
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
fn deserialize_netlink_vec(s: &str) -> Result<Vec<String>, core::error::Error> {
|
||||||
|
Ok(vec![s.to_string()])
|
||||||
|
}
|
||||||
|
@@ -92,7 +98,7 @@ pub(super) struct SectionSocket {
|
||||||
|
#[entry(multiple, myparser = deserialize_pathbuf_vec)]
|
||||||
|
pub Symlinks: Vec<PathBuf>,
|
||||||
|
pub PassSecurity: Option<bool>,
|
||||||
|
- #[entry(default = 0o666)]
|
||||||
|
+ #[entry(default = 0o666, myparser = deserialize_parse_mode)]
|
||||||
|
pub SocketMode: u32,
|
||||||
|
#[entry(default = "")]
|
||||||
|
pub SocketUser: String,
|
||||||
|
@@ -408,3 +414,20 @@ impl ReDbTable for SocketReDb<u32, SocketReFrame> {
|
||||||
|
self.0.switch_buffer(switch);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+#[cfg(test)]
|
||||||
|
+
|
||||||
|
+mod test {
|
||||||
|
+ use super::deserialize_parse_mode;
|
||||||
|
+
|
||||||
|
+ #[test]
|
||||||
|
+ fn test_deserialize_parse_mode() {
|
||||||
|
+ assert_eq!(deserialize_parse_mode("777").unwrap(), 0o777);
|
||||||
|
+ assert_eq!(deserialize_parse_mode("644").unwrap(), 0o644);
|
||||||
|
+ assert!(deserialize_parse_mode("-777").is_err());
|
||||||
|
+ assert!(deserialize_parse_mode("787").is_err());
|
||||||
|
+ assert!(deserialize_parse_mode("777aa").is_err());
|
||||||
|
+ assert!(deserialize_parse_mode("aaaaa").is_err());
|
||||||
|
+ assert!(deserialize_parse_mode("777 aa").is_err());
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
@ -0,0 +1,41 @@
|
|||||||
|
From efd6cf89b2ae60b3117016dd1ca8ab43396c1602 Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhangyao2022 <zhangyao108@huawei.com>
|
||||||
|
Date: Fri, 24 Nov 2023 15:38:11 +0800
|
||||||
|
Subject: [PATCH] fix: fixed the ListenNetlink parsing error of socket section
|
||||||
|
|
||||||
|
---
|
||||||
|
core/coms/socket/src/config.rs | 2 +-
|
||||||
|
core/coms/socket/src/rentry.rs | 4 ++--
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/core/coms/socket/src/config.rs b/core/coms/socket/src/config.rs
|
||||||
|
index 9585d5f..69cdc32 100755
|
||||||
|
--- a/core/coms/socket/src/config.rs
|
||||||
|
+++ b/core/coms/socket/src/config.rs
|
||||||
|
@@ -207,7 +207,7 @@ impl SocketConfig {
|
||||||
|
let config = &self.data.borrow().Socket;
|
||||||
|
self.parse_sockets(config.ListenStream.as_ref(), ListenItem::Stream)?;
|
||||||
|
self.parse_sockets(config.ListenDatagram.as_ref(), ListenItem::Datagram)?;
|
||||||
|
- self.parse_sockets(config.ListenNetlink.as_ref(), ListenItem::Netlink)?;
|
||||||
|
+ self.parse_sockets(&[config.ListenNetlink.clone()], ListenItem::Netlink)?;
|
||||||
|
self.parse_sockets(
|
||||||
|
config.ListenSequentialPacket.as_ref(),
|
||||||
|
ListenItem::SequentialPacket,
|
||||||
|
diff --git a/core/coms/socket/src/rentry.rs b/core/coms/socket/src/rentry.rs
|
||||||
|
index 9f9bcb5..8b20c7e 100755
|
||||||
|
--- a/core/coms/socket/src/rentry.rs
|
||||||
|
+++ b/core/coms/socket/src/rentry.rs
|
||||||
|
@@ -60,8 +60,8 @@ pub(super) struct SectionSocket {
|
||||||
|
pub ListenStream: Vec<String>,
|
||||||
|
#[entry(multiple)]
|
||||||
|
pub ListenDatagram: Vec<String>,
|
||||||
|
- #[entry(multiple)]
|
||||||
|
- pub ListenNetlink: Vec<String>,
|
||||||
|
+ #[entry(default = String::new())]
|
||||||
|
+ pub ListenNetlink: String,
|
||||||
|
#[entry(multiple)]
|
||||||
|
pub ListenSequentialPacket: Vec<String>,
|
||||||
|
#[entry(multiple)]
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
93
backport-fix-make-sure-all-logs-are-written-to-disk.patch
Normal file
93
backport-fix-make-sure-all-logs-are-written-to-disk.patch
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
From ef80bd0a8d9158c9fdbcde30bd43e1d819ff338d Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhangyao2022 <zhangyao108@huawei.com>
|
||||||
|
Date: Mon, 27 Nov 2023 19:35:55 +0800
|
||||||
|
Subject: [PATCH] fix: make sure all logs are written to disk
|
||||||
|
|
||||||
|
---
|
||||||
|
core/sysmaster/src/manager/mod.rs | 1 +
|
||||||
|
libs/log/src/inner.rs | 22 ++++++++++++++++++++++
|
||||||
|
libs/log/src/logger.rs | 9 ++++++++-
|
||||||
|
3 files changed, 31 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/core/sysmaster/src/manager/mod.rs b/core/sysmaster/src/manager/mod.rs
|
||||||
|
index f1062e31..46228b77 100644
|
||||||
|
--- a/core/sysmaster/src/manager/mod.rs
|
||||||
|
+++ b/core/sysmaster/src/manager/mod.rs
|
||||||
|
@@ -460,6 +460,7 @@ impl Manager {
|
||||||
|
}
|
||||||
|
|
||||||
|
log::info!("Rebooting...");
|
||||||
|
+ log::flush!();
|
||||||
|
let _ = reboot::reboot(reboot_mode); // make lint happy
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/libs/log/src/inner.rs b/libs/log/src/inner.rs
|
||||||
|
index 13f42aed..f13c51ed 100644
|
||||||
|
--- a/libs/log/src/inner.rs
|
||||||
|
+++ b/libs/log/src/inner.rs
|
||||||
|
@@ -194,6 +194,14 @@ macro_rules! trace {
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
+/// flush output stream
|
||||||
|
+#[macro_export(local_inner_macros)]
|
||||||
|
+macro_rules! flush {
|
||||||
|
+ () => {
|
||||||
|
+ $crate::inner::__private_api_flush();
|
||||||
|
+ };
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
///
|
||||||
|
/* Private, shouldn't be used out of this file. */
|
||||||
|
pub fn __private_api_log(
|
||||||
|
@@ -222,6 +230,20 @@ pub fn __private_api_log(
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+///
|
||||||
|
+pub fn __private_api_flush() {
|
||||||
|
+ if STATE.load(Ordering::SeqCst) != INITIALIZED {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ let logger = unsafe { &LOGGER_LOCK };
|
||||||
|
+ match logger {
|
||||||
|
+ Some(v) => {
|
||||||
|
+ v.read().unwrap().flush();
|
||||||
|
+ }
|
||||||
|
+ None => {}
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
pub use crate::debug;
|
||||||
|
pub use crate::error;
|
||||||
|
pub use crate::info;
|
||||||
|
diff --git a/libs/log/src/logger.rs b/libs/log/src/logger.rs
|
||||||
|
index 11d8d224..15f8b118 100644
|
||||||
|
--- a/libs/log/src/logger.rs
|
||||||
|
+++ b/libs/log/src/logger.rs
|
||||||
|
@@ -340,6 +340,9 @@ impl log::Log for FileLogger {
|
||||||
|
if let Err(e) = file.flush() {
|
||||||
|
println!("Failed to flush log file: {}", e);
|
||||||
|
}
|
||||||
|
+ if let Err(e) = file.sync_all() {
|
||||||
|
+ println!("Failed to sync all log file: {}", e);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
if !get_open_when_needed() {
|
||||||
|
@@ -605,7 +608,11 @@ impl Log for CombinedLogger {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- fn flush(&self) {}
|
||||||
|
+ fn flush(&self) {
|
||||||
|
+ for log in &self.loggers {
|
||||||
|
+ log.flush();
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
impl CombinedLogger {
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
Name: sysmaster
|
Name: sysmaster
|
||||||
Version: 0.5.1
|
Version: 0.5.1
|
||||||
Release: 6
|
Release: 7
|
||||||
Summary: redesign and reimplement process1.
|
Summary: redesign and reimplement process1.
|
||||||
|
|
||||||
License: Mulan PSL v2
|
License: Mulan PSL v2
|
||||||
@ -69,6 +69,11 @@ Patch42: backport-test-devmaster-use-unwrap-instead-of-asserting-is-ok.patch
|
|||||||
Patch43: backport-test-devmaster-add-UT-for-execute-unit.patch
|
Patch43: backport-test-devmaster-add-UT-for-execute-unit.patch
|
||||||
Patch44: backport-test-devmaster-add-UT-for-rules-module.patch
|
Patch44: backport-test-devmaster-add-UT-for-rules-module.patch
|
||||||
Patch45: backport-test-devmaster-add-UT-for-node-and-modify-the-displa.patch
|
Patch45: backport-test-devmaster-add-UT-for-node-and-modify-the-displa.patch
|
||||||
|
Patch46: backport-fix-fixed-the-ListenNetlink-parsing-error-of-socket-.patch
|
||||||
|
Patch47: backport-fix-fixed-ListenNetlink-parsing.patch
|
||||||
|
Patch48: backport-fix-make-sure-all-logs-are-written-to-disk.patch
|
||||||
|
Patch49: backport-fix-change-the-DefaultDependencies-configuration-to-.patch
|
||||||
|
Patch50: backport-fix-fixed-parsing-SocketMode-incorrectly.patch
|
||||||
|
|
||||||
ExclusiveArch: x86_64 aarch64
|
ExclusiveArch: x86_64 aarch64
|
||||||
|
|
||||||
@ -228,6 +233,9 @@ test -f /usr/lib/sysmaster/system/udevd.service && ln -s /usr/lib/sysmaster/syst
|
|||||||
test -f /usr/lib/sysmaster/system/udev-trigger.service && ln -s /usr/lib/sysmaster/system/udev-trigger.service /etc/sysmaster/system/sysinit.target.wants/udev-trigger.service || :
|
test -f /usr/lib/sysmaster/system/udev-trigger.service && ln -s /usr/lib/sysmaster/system/udev-trigger.service /etc/sysmaster/system/sysinit.target.wants/udev-trigger.service || :
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Dec 14 2023 zhangyao<zhangyao108@huawei.com> - 0.5.1-7
|
||||||
|
- sync patches from upstream
|
||||||
|
|
||||||
* Mon Dec 11 2023 chenjiayi<chenjiayi22@huawei.com> - 0.5.1-6
|
* Mon Dec 11 2023 chenjiayi<chenjiayi22@huawei.com> - 0.5.1-6
|
||||||
- fix incorrect symbolic linkage location of devctl-trigger.service
|
- fix incorrect symbolic linkage location of devctl-trigger.service
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user