Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package dracut for openSUSE:Factory checked 
in at 2022-02-24 18:18:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dracut (Old)
 and      /work/SRC/openSUSE:Factory/.dracut.new.1958 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "dracut"

Thu Feb 24 18:18:27 2022 rev:183 rq:957061 version:055+suse.238.gacab0df5

Changes:
--------
--- /work/SRC/openSUSE:Factory/dracut/dracut.changes    2022-02-06 
23:54:38.942673504 +0100
+++ /work/SRC/openSUSE:Factory/.dracut.new.1958/dracut.changes  2022-02-24 
18:18:36.814735883 +0100
@@ -1,0 +2,22 @@
+Fri Feb 18 07:48:46 UTC 2022 - antonio.fei...@suse.com
+
+- Update to version 055+suse.238.gacab0df5:
+  * fix(cpio): correct dev_t -> rmajor/rminor mapping (bsc#1195808)
+  * ci(cpio): add test_archive_dev_maj_min (bsc#1195808)
+  * ci(cpio): add TempWorkDir.create_tmp_mknod helper (bsc#1195808)
+
+-------------------------------------------------------------------
+Thu Feb 17 15:01:56 UTC 2022 - antonio.fei...@suse.com
+
+- Update to version 055+suse.234.gbdaf66ff:
+  * fix(tpm2-tss): install SUSE specific files (bsc#1195984)
+  * fix(systemd-sysusers): override systemd-sysusers.service (bsc#1195983)
+
+-------------------------------------------------------------------
+Mon Feb 14 09:09:18 UTC 2022 - antonio.fei...@suse.com
+
+- Update to version 055+suse.230.g3fdde49a:
+  * fix(dasd_rules): correct udev dasd rules parsing (bsc#1195309)
+  * revert(lvm): remove 69-dm-lvm-metad.rules (bsc#1195604)
+
+-------------------------------------------------------------------

Old:
----
  dracut-055+suse.226.g44139dde.obscpio

New:
----
  dracut-055+suse.238.gacab0df5.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dracut.spec ++++++
--- /var/tmp/diff_new_pack.kif6Wx/_old  2022-02-24 18:18:37.454735712 +0100
+++ /var/tmp/diff_new_pack.kif6Wx/_new  2022-02-24 18:18:37.462735710 +0100
@@ -25,7 +25,7 @@
 %endif
 
 Name:           dracut
-Version:        055+suse.226.g44139dde
+Version:        055+suse.238.gacab0df5
 Release:        0
 Summary:        Initramfs generator using udev
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.kif6Wx/_old  2022-02-24 18:18:37.518735695 +0100
+++ /var/tmp/diff_new_pack.kif6Wx/_new  2022-02-24 18:18:37.522735694 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/opensuse/dracut.git</param>
-              <param 
name="changesrevision">44139ddef245feebb2ee11bb70083b8b45e8ce00</param></service></servicedata>
+              <param 
name="changesrevision">569387aed7f1d27692095405744dfd84d5cd6aae</param></service></servicedata>
 (No newline at EOF)
 

++++++ dracut-055+suse.226.g44139dde.obscpio -> 
dracut-055+suse.238.gacab0df5.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-055+suse.226.g44139dde/modules.d/01systemd-sysusers/module-setup.sh 
new/dracut-055+suse.238.gacab0df5/modules.d/01systemd-sysusers/module-setup.sh
--- 
old/dracut-055+suse.226.g44139dde/modules.d/01systemd-sysusers/module-setup.sh  
    2022-01-28 08:31:48.000000000 +0100
+++ 
new/dracut-055+suse.238.gacab0df5/modules.d/01systemd-sysusers/module-setup.sh  
    2022-02-18 08:14:48.000000000 +0100
@@ -24,6 +24,8 @@
 # Install the required file(s) and directories for the module in the initramfs.
 install() {
 
+    inst_simple "$moddir/sysusers-dracut.conf" 
"$systemdsystemunitdir/systemd-sysusers.service.d/sysusers-dracut.conf"
+
     inst_multiple -o \
         "$sysusers"/basic.conf \
         "$sysusers"/systemd.conf \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-055+suse.226.g44139dde/modules.d/01systemd-sysusers/sysusers-dracut.conf
 
new/dracut-055+suse.238.gacab0df5/modules.d/01systemd-sysusers/sysusers-dracut.conf
--- 
old/dracut-055+suse.226.g44139dde/modules.d/01systemd-sysusers/sysusers-dracut.conf
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/dracut-055+suse.238.gacab0df5/modules.d/01systemd-sysusers/sysusers-dracut.conf
 2022-02-18 08:14:48.000000000 +0100
@@ -0,0 +1,2 @@
+[Unit]
+ConditionNeedsUpdate=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-055+suse.226.g44139dde/modules.d/90lvm/module-setup.sh 
new/dracut-055+suse.238.gacab0df5/modules.d/90lvm/module-setup.sh
--- old/dracut-055+suse.226.g44139dde/modules.d/90lvm/module-setup.sh   
2022-01-28 08:31:48.000000000 +0100
+++ new/dracut-055+suse.238.gacab0df5/modules.d/90lvm/module-setup.sh   
2022-02-18 08:14:48.000000000 +0100
@@ -92,20 +92,7 @@
         } > "${initdir}/etc/lvm/lvm.conf"
     fi
 
-    inst_rules 11-dm-lvm.rules 69-dm-lvm-metad.rules
-
-    # Do not run lvmetad update via pvscan in udev rule  - lvmetad is not 
running yet in dracut!
-    if [[ -f ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules ]]; then
-        if grep -q SYSTEMD_WANTS 
"${initdir}"/lib/udev/rules.d/69-dm-lvm-metad.rules; then
-            sed -i -e 's/^ENV{SYSTEMD_ALIAS}=.*/# No LVM pvscan in dracut - 
lvmetad is not running yet/' \
-                "${initdir}"/lib/udev/rules.d/69-dm-lvm-metad.rules
-            sed -i -e 's/^ENV{ID_MODEL}=.*//' 
"${initdir}"/lib/udev/rules.d/69-dm-lvm-metad.rules
-            sed -i -e 's/^ENV{SYSTEMD_WANTS}+\?=.*//' 
"${initdir}"/lib/udev/rules.d/69-dm-lvm-metad.rules
-        else
-            sed -i -e 's/.*lvm pvscan.*/# No LVM pvscan for in dracut - 
lvmetad is not running yet/' \
-                "${initdir}"/lib/udev/rules.d/69-dm-lvm-metad.rules
-        fi
-    fi
+    inst_rules 11-dm-lvm.rules
 
     # Gentoo ebuild for LVM2 prior to 2.02.63-r1 doesn't install above rules
     # files, but provides the one below:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-055+suse.226.g44139dde/modules.d/91tpm2-tss/module-setup.sh 
new/dracut-055+suse.238.gacab0df5/modules.d/91tpm2-tss/module-setup.sh
--- old/dracut-055+suse.226.g44139dde/modules.d/91tpm2-tss/module-setup.sh      
2022-01-28 08:31:48.000000000 +0100
+++ new/dracut-055+suse.238.gacab0df5/modules.d/91tpm2-tss/module-setup.sh      
2022-02-18 08:14:48.000000000 +0100
@@ -32,9 +32,9 @@
 install() {
 
     inst_multiple -o \
-        "$sysusers"/tpm2-tss.conf \
-        "$tmpfilesdir"/tpm2-tss-fapi.conf \
-        "$udevrulesdir"/60-tpm-udev.rules \
+        "$sysusers"/system-user-tss.conf \
+        "$tmpfilesdir"/tpm2-tss-fapi*.conf \
+        "$udevrulesdir"/90-tpm.rules \
         tpm2_pcrread tpm2_pcrextend tpm2_createprimary tpm2_createpolicy \
         tpm2_create tpm2_load tpm2_unseal tpm2
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-055+suse.226.g44139dde/modules.d/95dasd_rules/module-setup.sh 
new/dracut-055+suse.238.gacab0df5/modules.d/95dasd_rules/module-setup.sh
--- old/dracut-055+suse.226.g44139dde/modules.d/95dasd_rules/module-setup.sh    
2022-01-28 08:31:48.000000000 +0100
+++ new/dracut-055+suse.238.gacab0df5/modules.d/95dasd_rules/module-setup.sh    
2022-02-18 08:14:48.000000000 +0100
@@ -57,8 +57,8 @@
         [[ $_dasd ]] && printf "%s\n" "$_dasd" >> 
"${initdir}/etc/cmdline.d/95dasd.conf"
     fi
     if [[ $hostonly ]]; then
-        inst_rules_wildcard 51-dasd-*.rules
-        inst_rules_wildcard 41-dasd-*.rules
+        inst_rules_wildcard "51-dasd-*.rules"
+        inst_rules_wildcard "41-dasd-*.rules"
         mark_hostonly /etc/udev/rules.d/51-dasd-*.rules
         mark_hostonly /etc/udev/rules.d/41-dasd-*.rules
     fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/dracut-055+suse.226.g44139dde/src/dracut-cpio/src/main.rs 
new/dracut-055+suse.238.gacab0df5/src/dracut-cpio/src/main.rs
--- old/dracut-055+suse.226.g44139dde/src/dracut-cpio/src/main.rs       
2022-01-28 08:31:48.000000000 +0100
+++ new/dracut-055+suse.238.gacab0df5/src/dracut-cpio/src/main.rs       
2022-02-18 08:14:48.000000000 +0100
@@ -361,9 +361,12 @@
         // no zero terminator for symlink target path
     }
 
+    // Linux kernel uses 32-bit dev_t, encoded as mmmM MMmm. glibc uses 64-bit
+    // MMMM Mmmm mmmM MMmm, which is compatible with the former.
     if ftype.is_block_device() || ftype.is_char_device() {
-        rmajor = (md.rdev() >> 8) as u32;
-        rminor = (md.rdev() & 0xff) as u32;
+        let rd = md.rdev();
+        rmajor = (((rd >> 32) & 0xfffff000) | ((rd >> 8) & 0x00000fff)) as u32;
+        rminor = (((rd >> 12) & 0xffffff00) | (rd & 0x000000ff)) as u32;
     }
 
     if ftype.is_file() {
@@ -810,7 +813,8 @@
     Ok(())
 }
 
-// tests change working directory, so need to be run with --test-threads=1
+// tests change working directory, so need to be run with:
+// cargo test -- --test-threads=1 --nocapture
 #[cfg(test)]
 mod tests {
     use super::*;
@@ -883,6 +887,25 @@
             fs::create_dir(name).unwrap();
             self.cleanup_dirs.push(PathBuf::from(name));
         }
+
+        // execute coreutils mknod NAME TYPE [MAJOR MINOR]
+        pub fn create_tmp_mknod(&mut self, name: &str, typ: char,
+                                maj_min: Option<(u32, u32)>) {
+            let t = typ.to_string();
+            let proc = match maj_min {
+                Some(maj_min) => {
+                    let (maj, min) = maj_min;
+                    Command::new("mknod")
+                        .args(&[name, &t, &maj.to_string(), &min.to_string()])
+                        .spawn()
+                },
+                None => Command::new("mknod").args(&[name, &t]).spawn()
+            };
+            let status = proc.expect("mknod failed to start").wait().unwrap();
+            assert!(status.success());
+
+            self.cleanup_files.push(PathBuf::from(name));
+        }
     }
 
     impl Drop for TempWorkDir {
@@ -1144,13 +1167,7 @@
     fn test_archive_fifo() {
         let mut twd = TempWorkDir::new();
 
-        // mknod [OPTION]... NAME TYPE [MAJOR MINOR]
-        let mut proc = Command::new("mknod")
-            .args(&["fifo", "p"])
-            .spawn()
-            .expect("mknod failed to start");
-        assert!(proc.wait().unwrap().success());
-        twd.cleanup_files.push(PathBuf::from("fifo"));
+        twd.create_tmp_mknod("fifo", 'p', None);
 
         gnu_cpio_create("fifo\n".as_bytes(), "gnu.cpio");
         twd.cleanup_files.push(PathBuf::from("gnu.cpio"));
@@ -1720,4 +1737,77 @@
         assert_eq!(src_md.uid(), ex_md.uid());
         assert_eq!(src_md.gid(), ex_md.gid());
     }
+
+    #[test]
+    fn test_archive_dev_maj_min() {
+        let mut twd = TempWorkDir::new();
+        twd.create_tmp_file("file1", 0);
+
+        let md = fs::symlink_metadata("file1").unwrap();
+        if md.uid() != 0 {
+            println!("SKIPPED: this test requires root");
+            return;
+        }
+
+        twd.create_tmp_mknod("bdev1", 'b', Some((0x01, 0x01)));
+        twd.create_tmp_mknod("bdev2", 'b', Some((0x02, 0x100)));
+        twd.create_tmp_mknod("bdev3", 'b', Some((0x03, 0x1000)));
+        twd.create_tmp_mknod("bdev4", 'b', Some((0x04, 0x10000)));
+        twd.create_tmp_mknod("bdev5", 'b', Some((0x100, 0x05)));
+        twd.create_tmp_mknod("bdev6", 'b', Some((0x100, 0x06)));
+        let file_list: &str = 
"file1\nbdev1\nbdev2\nbdev3\nbdev4\nbdev5\nbdev6\n";
+
+        // create GNU cpio archive
+        twd.create_tmp_dir("gnucpio_xtr");
+        gnu_cpio_create(file_list.as_bytes(), "gnucpio_xtr/gnu.cpio");
+        twd.cleanup_files.push(PathBuf::from("gnucpio_xtr/gnu.cpio"));
+
+        // create Dracut cpio archive
+        twd.create_tmp_dir("dracut_xtr");
+        let f = fs::File::create("dracut_xtr/dracut.cpio").unwrap();
+        let mut writer = io::BufWriter::new(f);
+        let mut reader = io::BufReader::new(file_list.as_bytes());
+        let wrote = archive_loop(
+            &mut reader,
+            &mut writer,
+            &ArchiveProperties::default()
+        )
+        .unwrap();
+        twd.cleanup_files.push(PathBuf::from("dracut_xtr/dracut.cpio"));
+
+        let file_list_count = file_list.split_terminator('\n').count() as u64;
+        assert!(wrote >= NEWC_HDR_LEN * file_list_count
+                         + (file_list.len() as u64));
+
+        let status = Command::new("cpio")
+            .current_dir("gnucpio_xtr")
+            .args(&["--quiet", "-i", "-H", "newc", "-F", "gnu.cpio"])
+            .status()
+            .expect("GNU cpio failed to start");
+        assert!(status.success());
+        for s in file_list.split_terminator('\n') {
+            let p = PathBuf::from("gnucpio_xtr/".to_owned() + s);
+            twd.cleanup_files.push(p);
+        }
+
+        let status = Command::new("cpio")
+            .current_dir("dracut_xtr")
+            .args(&["--quiet", "-i", "-H", "newc", "-F", "dracut.cpio"])
+            .status()
+            .expect("GNU cpio failed to start");
+        assert!(status.success());
+        for s in file_list.split_terminator('\n') {
+            let dp = PathBuf::from("dracut_xtr/".to_owned() + s);
+            twd.cleanup_files.push(dp);
+        }
+
+        // diff extracted major/minor between dracut and GNU cpio created 
archives
+        for s in file_list.split_terminator('\n') {
+            let gmd = fs::symlink_metadata("gnucpio_xtr/".to_owned() + 
s).unwrap();
+            let dmd = fs::symlink_metadata("dracut_xtr/".to_owned() + 
s).unwrap();
+            print!("{}: cpio extracted dev_t gnu: {:#x}, dracut: {:#x}\n",
+                   s, gmd.rdev(), dmd.rdev());
+            assert!(gmd.rdev() == dmd.rdev());
+        }
+    }
 }

++++++ dracut.obsinfo ++++++
--- /var/tmp/diff_new_pack.kif6Wx/_old  2022-02-24 18:18:37.770735628 +0100
+++ /var/tmp/diff_new_pack.kif6Wx/_new  2022-02-24 18:18:37.774735626 +0100
@@ -1,6 +1,6 @@
 name: dracut
-version: 055+suse.226.g44139dde
-mtime: 1643355108
-commit: 44139ddef245feebb2ee11bb70083b8b45e8ce00
+version: 055+suse.238.gacab0df5
+mtime: 1645168488
+commit: acab0df540c367f5b83e4d63c8c491238b2a9cdf
 
 

Reply via email to