Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libcontainers-common for openSUSE:Factory checked in at 2021-03-02 12:26:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libcontainers-common (Old) and /work/SRC/openSUSE:Factory/.libcontainers-common.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libcontainers-common" Tue Mar 2 12:26:26 2021 rev:31 rq:875203 version:20210112 Changes: -------- --- /work/SRC/openSUSE:Factory/libcontainers-common/libcontainers-common.changes 2021-01-19 15:59:56.731176015 +0100 +++ /work/SRC/openSUSE:Factory/.libcontainers-common.new.2378/libcontainers-common.changes 2021-03-02 12:27:58.759452642 +0100 @@ -1,0 +2,8 @@ +Thu Feb 25 16:15:46 UTC 2021 - Alexandre Vicenzi <alexandre.vice...@suse.com> + +- Update commonver to 0.35.1 +- Update podmanver to 3.0.1 +- Update storagever to 1.24.8 +- Update imagever to 5.10.4 + +------------------------------------------------------------------- Old: ---- common-0.33.0.tar.xz image-5.9.0.tar.xz podman-2.2.1.tar.xz storage-1.24.5.tar.xz New: ---- common-0.35.1.tar.xz image-5.10.4.tar.xz podman-3.0.1.tar.xz storage-1.24.8.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libcontainers-common.spec ++++++ --- /var/tmp/diff_new_pack.xBSBMF/_old 2021-03-02 12:28:04.615457880 +0100 +++ /var/tmp/diff_new_pack.xBSBMF/_new 2021-03-02 12:28:04.619457883 +0100 @@ -17,16 +17,16 @@ # commonver - version from containers/common -%define commonver 0.33.0 +%define commonver 0.35.1 # podman - version from containers/podman -%define podmanver 2.2.1 +%define podmanver 3.0.1 # storagever - version from containers/storage -%define storagever 1.24.5 +%define storagever 1.24.8 # imagever - version from containers/image -%define imagever 5.9.0 +%define imagever 5.10.4 Name: libcontainers-common Version: 20210112 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.xBSBMF/_old 2021-03-02 12:28:04.663457923 +0100 +++ /var/tmp/diff_new_pack.xBSBMF/_new 2021-03-02 12:28:04.663457923 +0100 @@ -4,32 +4,32 @@ <param name="url">https://github.com/containers/storage.git</param> <param name="scm">git</param> <param name="filename">storage</param> -<param name="versionformat">1.24.5</param> -<param name="revision">v1.24.5</param> +<param name="versionformat">1.24.8</param> +<param name="revision">v1.24.8</param> </service> <service name="tar_scm" mode="disabled"> <param name="url">https://github.com/containers/image.git</param> <param name="scm">git</param> <param name="filename">image</param> -<param name="versionformat">5.9.0</param> -<param name="revision">v5.9.0</param> +<param name="versionformat">5.10.4</param> +<param name="revision">v5.10.4</param> </service> <service name="tar_scm" mode="disabled"> <param name="url">https://github.com/containers/podman.git</param> <param name="scm">git</param> <param name="filename">podman</param> -<param name="versionformat">2.2.1</param> -<param name="revision">v2.2.1</param> +<param name="versionformat">3.0.1</param> +<param name="revision">v3.0.1</param> </service> <service name="tar_scm" mode="disabled"> <param name="url">https://github.com/containers/common.git</param> <param name="scm">git</param> <param name="filename">common</param> -<param name="versionformat">0.33.0</param> -<param name="revision">v0.33.0</param> +<param name="versionformat">0.35.1</param> +<param name="revision">v0.35.1</param> </service> <service name="recompress" mode="disabled"> ++++++ common-0.33.0.tar.xz -> common-0.35.1.tar.xz ++++++ ++++ 21677 lines of diff (skipped) ++++++ image-5.9.0.tar.xz -> image-5.10.4.tar.xz ++++++ ++++ 3581 lines of diff (skipped) ++++++ podman-2.2.1.tar.xz -> podman-3.0.1.tar.xz ++++++ ++++ 145641 lines of diff (skipped) ++++++ storage-1.24.5.tar.xz -> storage-1.24.8.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/storage-1.24.5/.cirrus.yml new/storage-1.24.8/.cirrus.yml --- old/storage-1.24.5/.cirrus.yml 2021-01-08 14:32:51.000000000 +0100 +++ new/storage-1.24.8/.cirrus.yml 2021-02-19 12:33:38.000000000 +0100 @@ -25,7 +25,7 @@ # GCE project where images live IMAGE_PROJECT: "libpod-218412" # VM Image built in containers/automation_images - _BUILT_IMAGE_SUFFIX: "c6233039174893568" + _BUILT_IMAGE_SUFFIX: "c6524344056676352" FEDORA_CACHE_IMAGE_NAME: "fedora-${_BUILT_IMAGE_SUFFIX}" PRIOR_FEDORA_CACHE_IMAGE_NAME: "prior-fedora-${_BUILT_IMAGE_SUFFIX}" UBUNTU_CACHE_IMAGE_NAME: "ubuntu-${_BUILT_IMAGE_SUFFIX}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/storage-1.24.5/VERSION new/storage-1.24.8/VERSION --- old/storage-1.24.5/VERSION 2021-01-08 14:32:51.000000000 +0100 +++ new/storage-1.24.8/VERSION 2021-02-19 12:33:38.000000000 +0100 @@ -1 +1 @@ -1.24.5 +1.24.8 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/storage-1.24.5/drivers/overlay/check.go new/storage-1.24.8/drivers/overlay/check.go --- old/storage-1.24.5/drivers/overlay/check.go 2021-01-08 14:32:51.000000000 +0100 +++ new/storage-1.24.8/drivers/overlay/check.go 2021-02-19 12:33:38.000000000 +0100 @@ -145,6 +145,10 @@ opts = fmt.Sprintf("%s,%s", opts, data) } if err := unix.Mount("overlay", filepath.Join(td, "merged"), "overlay", uintptr(flags), opts); err != nil { + if errors.Cause(err) == unix.EINVAL { + logrus.Info("metacopy option not supported on this kernel", mountOpts) + return false, nil + } return false, errors.Wrapf(err, "failed to mount overlay for metacopy check with %q options", mountOpts) } defer func() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/storage-1.24.5/drivers/overlay/overlay.go new/storage-1.24.8/drivers/overlay/overlay.go --- old/storage-1.24.5/drivers/overlay/overlay.go 2021-01-08 14:32:51.000000000 +0100 +++ new/storage-1.24.8/drivers/overlay/overlay.go 2021-02-19 12:33:38.000000000 +0100 @@ -125,6 +125,15 @@ graphdriver.Register("overlay2", Init) } +func hasMetacopyOption(opts []string) bool { + for _, s := range opts { + if s == "metacopy=on" { + return true + } + } + return false +} + // Init returns the a native diff driver for overlay filesystem. // If overlay filesystem is not supported on the host, a wrapped graphdriver.ErrNotSupported is returned as error. // If an overlay filesystem is not supported over an existing filesystem then a wrapped graphdriver.ErrIncompatibleFS is returned. @@ -741,8 +750,22 @@ for _, s := range strings.Split(string(lowers), ":") { lower := d.dir(s) lp, err := os.Readlink(lower) + // if the link does not exist, we lost the symlinks during a sudden reboot. + // Let's go ahead and recreate those symlinks. if err != nil { - return nil, err + if os.IsNotExist(err) { + logrus.Warnf("Can't read link %q because it does not exist. Going through storage to recreate the missing symlinks.", lower) + if err := d.recreateSymlinks(); err != nil { + return nil, fmt.Errorf("error recreating the missing symlinks: %v", err) + } + // let's call Readlink on lower again now that we have recreated the missing symlinks + lp, err = os.Readlink(lower) + if err != nil { + return nil, err + } + } else { + return nil, err + } } lowersArray = append(lowersArray, path.Clean(d.dir(path.Join("link", lp)))) } @@ -863,7 +886,21 @@ } readWrite := true - for _, o := range options.Options { + optsList := options.Options + if len(optsList) == 0 { + optsList = strings.Split(d.options.mountOptions, ",") + } else { + // If metacopy=on is present in d.options.mountOptions it must be present in the mount + // options otherwise the kernel refuses to follow the metacopy xattr. + if hasMetacopyOption(strings.Split(d.options.mountOptions, ",")) && !hasMetacopyOption(options.Options) { + if d.usingMetacopy { + optsList = append(optsList, "metacopy=on") + } else { + logrus.Warnf("ignoring metacopy option from storage.conf, not supported with booted kernel") + } + } + } + for _, o := range optsList { if o == "ro" { readWrite = false break @@ -1001,10 +1038,8 @@ } else { opts = fmt.Sprintf("lowerdir=%s:%s", diffDir, strings.Join(absLowers, ":")) } - if len(options.Options) > 0 { - opts = fmt.Sprintf("%s,%s", strings.Join(options.Options, ","), opts) - } else if d.options.mountOptions != "" { - opts = fmt.Sprintf("%s,%s", d.options.mountOptions, opts) + if len(optsList) > 0 { + opts = fmt.Sprintf("%s,%s", strings.Join(optsList, ","), opts) } mountData := label.FormatMountLabel(opts, options.MountLabel) mountFunc := unix.Mount diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/storage-1.24.5/pkg/homedir/homedir_others.go new/storage-1.24.8/pkg/homedir/homedir_others.go --- old/storage-1.24.5/pkg/homedir/homedir_others.go 2021-01-08 14:32:51.000000000 +0100 +++ new/storage-1.24.8/pkg/homedir/homedir_others.go 2021-02-19 12:33:38.000000000 +0100 @@ -28,3 +28,8 @@ func GetConfigHome() (string, error) { return "", errors.New("homedir.GetConfigHome() is not supported on this system") } + +// GetCacheHome is unsupported on non-linux system. +func GetCacheHome() (string, error) { + return "", errors.New("homedir.GetCacheHome() is not supported on this system") +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/storage-1.24.5/pkg/homedir/homedir_unix.go new/storage-1.24.8/pkg/homedir/homedir_unix.go --- old/storage-1.24.5/pkg/homedir/homedir_unix.go 2021-01-08 14:32:51.000000000 +0100 +++ new/storage-1.24.8/pkg/homedir/homedir_unix.go 2021-02-19 12:33:38.000000000 +0100 @@ -123,3 +123,18 @@ } return filepath.Join(home, ".config"), nil } + +// GetCacheHome returns XDG_CACHE_HOME. +// GetCacheHome returns $HOME/.cache and nil error if XDG_CACHE_HOME is not set. +// +// See also https://standards.freedesktop.org/basedir-spec/latest/ar01s03.html +func GetCacheHome() (string, error) { + if xdgCacheHome := os.Getenv("XDG_CACHE_HOME"); xdgCacheHome != "" { + return xdgCacheHome, nil + } + home := Get() + if home == "" { + return "", errors.New("could not get either XDG_CACHE_HOME or HOME") + } + return filepath.Join(home, ".cache"), nil +}