openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2023
- 1 participants
- 1988 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package lxc for openSUSE:Factory checked in at 2023-07-31 15:24:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lxc (Old)
and /work/SRC/openSUSE:Factory/.lxc.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lxc"
Mon Jul 31 15:24:42 2023 rev:106 rq:1101506 version:5.0.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/lxc/lxc.changes 2023-05-15 16:54:59.304394288 +0200
+++ /work/SRC/openSUSE:Factory/.lxc.new.32662/lxc.changes 2023-07-31 15:24:50.179485960 +0200
@@ -1,0 +2,9 @@
+Mon Jul 31 10:43:32 UTC 2023 - Dirk Müller <dmueller(a)suse.com>
+
+- update to 5.0.3:
+ * Fix nftables syntax for IPv6 NAT
+ * Added support for squashfs OCI images
+ * Fixes when running LXC with io_uring
+ + detailed changelog at https://discuss.linuxcontainers.org/t/lxc-5-0-3-lts-has-been-released/17708
+
+-------------------------------------------------------------------
Old:
----
lxc-5.0.2.tar.gz
lxc-5.0.2.tar.gz.asc
New:
----
lxc-5.0.3.tar.gz
lxc-5.0.3.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lxc.spec ++++++
--- /var/tmp/diff_new_pack.M0PucJ/_old 2023-07-31 15:24:50.923490255 +0200
+++ /var/tmp/diff_new_pack.M0PucJ/_new 2023-07-31 15:24:50.927490278 +0200
@@ -23,7 +23,7 @@
%define shlib_version 1
Name: lxc
-Version: 5.0.2
+Version: 5.0.3
Release: 0
URL: http://linuxcontainers.org/
Summary: Userspace tools for Linux kernel containers
++++++ lxc-5.0.2.tar.gz -> lxc-5.0.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/.github/workflows/commits.yml new/lxc-5.0.3/.github/workflows/commits.yml
--- old/lxc-5.0.2/.github/workflows/commits.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/lxc-5.0.3/.github/workflows/commits.yml 2023-07-26 00:00:11.000000000 +0200
@@ -0,0 +1,40 @@
+name: Commits
+on:
+ - pull_request
+
+permissions:
+ contents: read
+
+jobs:
+ dco-check:
+ permissions:
+ pull-requests: read # for tim-actions/get-pr-commits to get list of commits from the PR
+ name: Signed-off-by (DCO)
+ runs-on: ubuntu-22.04
+ steps:
+ - name: Get PR Commits
+ id: 'get-pr-commits'
+ uses: tim-actions/get-pr-commits@master
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Check that all commits are signed-off
+ uses: tim-actions/dco@master
+ with:
+ commits: ${{ steps.get-pr-commits.outputs.commits }}
+
+ target-branch:
+ permissions:
+ contents: none
+ name: Branch target
+ runs-on: ubuntu-22.04
+ steps:
+ - name: Check branch target
+ env:
+ TARGET: ${{ github.event.pull_request.base.ref }}
+ run: |
+ set -x
+ [ "${TARGET}" = "main" ] && exit 0
+
+ echo "Invalid branch target: ${TARGET}"
+ exit 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/CONTRIBUTING new/lxc-5.0.3/CONTRIBUTING
--- old/lxc-5.0.2/CONTRIBUTING 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/CONTRIBUTING 2023-07-26 00:00:11.000000000 +0200
@@ -107,3 +107,15 @@
Co-developed-by: Random J Developer 1 <random_1(a)developer.org>
Co-developed-by: Random J Developer 2 <random_1(a)developer.org>
+
+AI Generated Code:
+------------------
+
+Substantially AI generated code is not welcome. There are several
+reasons for this. First, it violates the "The contribution was created
+in whole or in part by me" statement of DCO. Second, the licensing
+implications are not yet clear. Thirdly, we expect anyone who submits
+code to fully understand what they are submitting. Finally, we put
+a lot of time into reviewing patch submissions. Increasing the
+volume of code to be reviewed with autogenerated boilerplate drivel
+will take away time from more important reviews.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/config/apparmor/abstractions/start-container.in new/lxc-5.0.3/config/apparmor/abstractions/start-container.in
--- old/lxc-5.0.2/config/apparmor/abstractions/start-container.in 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/config/apparmor/abstractions/start-container.in 2023-07-26 00:00:11.000000000 +0200
@@ -20,6 +20,7 @@
mount options=(rw, make-shared) -> **,
mount options=(rw, make-rshared) -> **,
mount fstype=debugfs,
+ mount fstype=fuse.*,
# allow pre-mount hooks to stage mounts under /var/lib/lxc/<container>/
mount -> /var/lib/lxc/{**,},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/config/init/common/lxc-net.in new/lxc-5.0.3/config/init/common/lxc-net.in
--- old/lxc-5.0.2/config/init/common/lxc-net.in 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/config/init/common/lxc-net.in 2023-07-26 00:00:11.000000000 +0200
@@ -92,7 +92,7 @@
add table ip6 lxc;
flush table ip6 lxc;
add chain ip6 lxc postrouting { type nat hook postrouting priority 100; };
-add rule ip6 lxc postrouting ip saddr ${LXC_IPV6_NETWORK} ip daddr != ${LXC_IPV6_NETWORK} counter masquerade;
+add rule ip6 lxc postrouting ip6 saddr ${LXC_IPV6_NETWORK} ip6 daddr != ${LXC_IPV6_NETWORK} counter masquerade;
"
fi
NFT_RULESET="${NFT_RULESET};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/meson.build new/lxc-5.0.3/meson.build
--- old/lxc-5.0.2/meson.build 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/meson.build 2023-07-26 00:00:11.000000000 +0200
@@ -4,7 +4,7 @@
project(
'lxc',
'c',
- version: '5.0.2',
+ version: '5.0.3',
license: 'LGPLv2+',
default_options: [
'b_lto=true',
@@ -30,7 +30,7 @@
version_data = configuration_data()
version_data.set('LXC_VERSION_MAJOR', '5')
version_data.set('LXC_VERSION_MINOR', '0')
-version_data.set('LXC_VERSION_MICRO', '2')
+version_data.set('LXC_VERSION_MICRO', '3')
version_data.set('LXC_VERSION_BETA', '')
version_data.set('LXC_ABI', liblxc_version)
version_data.set('LXC_DEVEL', '0')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/attach.c new/lxc-5.0.3/src/lxc/attach.c
--- old/lxc-5.0.2/src/lxc/attach.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/attach.c 2023-07-26 00:00:11.000000000 +0200
@@ -1319,7 +1319,7 @@
* here, ignore errors.
*/
for (int fd = STDIN_FILENO; fd <= STDERR_FILENO; fd++) {
- ret = fd_cloexec(fd, false);
+ ret = lxc_fd_cloexec(fd, false);
if (ret < 0) {
SYSERROR("Failed to clear FD_CLOEXEC from file descriptor %d", fd);
goto on_error;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/cgroups/cgfsng.c new/lxc-5.0.3/src/lxc/cgroups/cgfsng.c
--- old/lxc-5.0.2/src/lxc/cgroups/cgfsng.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/cgroups/cgfsng.c 2023-07-26 00:00:11.000000000 +0200
@@ -146,7 +146,7 @@
}
if (controller)
- WARN("There is no useable %s controller", controller);
+ INFO("There is no useable %s controller", controller);
else
WARN("There is no empty unified cgroup hierarchy");
@@ -2167,7 +2167,7 @@
hierarchy_mnt = must_make_path(cgroup_root, h->at_mnt, NULL);
path2 = must_make_path(hierarchy_mnt, h->at_base,
ops->container_cgroup, NULL);
- ret = mkdir_p(path2, 0755);
+ ret = lxc_mkdir_p(path2, 0755);
if (ret < 0 && (errno != EEXIST))
return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/cgroups/cgroup_utils.c new/lxc-5.0.3/src/lxc/cgroups/cgroup_utils.c
--- old/lxc-5.0.2/src/lxc/cgroups/cgroup_utils.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/cgroups/cgroup_utils.c 2023-07-26 00:00:11.000000000 +0200
@@ -26,7 +26,7 @@
struct statfs fs;
ret = fstatfs(fd, &fs);
- if (!ret && is_fs_type(&fs, CGROUP2_SUPER_MAGIC))
+ if (!ret && lxc_is_fs_type(&fs, CGROUP2_SUPER_MAGIC))
return true;
return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/cmd/lxc_monitord.c new/lxc-5.0.3/src/lxc/cmd/lxc_monitord.c
--- old/lxc-5.0.2/src/lxc/cmd/lxc_monitord.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/cmd/lxc_monitord.c 2023-07-26 00:00:11.000000000 +0200
@@ -159,17 +159,12 @@
socklen_t credsz = sizeof(cred);
ret = LXC_MAINLOOP_ERROR;
- clientfd = accept(fd, NULL, 0);
+ clientfd = accept4(fd, NULL, 0, SOCK_CLOEXEC);
if (clientfd < 0) {
SYSERROR("Failed to accept connection for client file descriptor %d", fd);
goto out;
}
- if (fcntl(clientfd, F_SETFD, FD_CLOEXEC)) {
- SYSERROR("Failed to set FD_CLOEXEC on client socket connection %d", clientfd);
- goto err1;
- }
-
if (getsockopt(clientfd, SOL_SOCKET, SO_PEERCRED, &cred, &credsz)) {
SYSERROR("Failed to get credentials on client socket connection %d", clientfd);
goto err1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/commands.c new/lxc-5.0.3/src/lxc/commands.c
--- old/lxc-5.0.2/src/lxc/commands.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/commands.c 2023-07-26 00:00:11.000000000 +0200
@@ -2080,14 +2080,10 @@
__do_close int connection = -EBADF;
int opt = 1, ret = -1;
- connection = accept(fd, NULL, 0);
+ connection = accept4(fd, NULL, 0, SOCK_CLOEXEC);
if (connection < 0)
return log_error_errno(LXC_MAINLOOP_ERROR, errno, "Failed to accept connection to run command");
- ret = fcntl(connection, F_SETFD, FD_CLOEXEC);
- if (ret < 0)
- return log_error_errno(ret, errno, "Failed to set close-on-exec on incoming command connection");
-
ret = setsockopt(connection, SOL_SOCKET, SO_PASSCRED, &opt, sizeof(opt));
if (ret < 0)
return log_error_errno(ret, errno, "Failed to enable necessary credentials on command socket");
@@ -2122,10 +2118,6 @@
return log_error_errno(-1, errno, "Failed to create command socket %s", &path[1]);
}
- ret = fcntl(fd, F_SETFD, FD_CLOEXEC);
- if (ret < 0)
- return log_error_errno(-1, errno, "Failed to set FD_CLOEXEC on command socket file descriptor");
-
return log_trace(move_fd(fd), "Created abstract unix socket \"%s\"", &path[1]);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/conf.c new/lxc-5.0.3/src/lxc/conf.c
--- old/lxc-5.0.2/src/lxc/conf.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/conf.c 2023-07-26 00:00:11.000000000 +0200
@@ -2212,7 +2212,7 @@
static int parse_mntopt(char *opt, unsigned long *flags, char **data, size_t size)
{
- ssize_t ret;
+ size_t ret;
/* If '=' is contained in opt, the option must go into data. */
if (!strchr(opt, '=')) {
@@ -2236,12 +2236,12 @@
if (strlen(*data)) {
ret = strlcat(*data, ",", size);
- if (ret < 0)
+ if (ret >= size)
return log_error_errno(ret, errno, "Failed to append \",\" to %s", *data);
}
ret = strlcat(*data, opt, size);
- if (ret < 0)
+ if (ret >= size)
return log_error_errno(ret, errno, "Failed to append \"%s\" to %s", opt, *data);
return 0;
@@ -2597,7 +2597,7 @@
}
if (hasmntopt(mntent, "create=dir")) {
- ret = mkdir_p(path, 0755);
+ ret = lxc_mkdir_p(path, 0755);
if (ret < 0 && errno != EEXIST)
return log_error_errno(-1, errno, "Failed to create directory \"%s\"", path);
}
@@ -2615,7 +2615,7 @@
p2 = dirname(p1);
- ret = mkdir_p(p2, 0755);
+ ret = lxc_mkdir_p(p2, 0755);
if (ret < 0 && errno != EEXIST)
return log_error_errno(-1, errno, "Failed to create directory \"%s\"", path);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/conf.h new/lxc-5.0.3/src/lxc/conf.h
--- old/lxc-5.0.2/src/lxc/conf.h 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/conf.h 2023-07-26 00:00:11.000000000 +0200
@@ -233,7 +233,7 @@
* @path : the rootfs source (directory or device)
* @mount : where it is mounted
* @buf : static buffer to construct paths
- * @bev_type : optional backing store type
+ * @bdev_type : optional backing store type
* @managed : whether it is managed by LXC
* @dfd_mnt : fd for @mount
* @dfd_dev : fd for /dev of the container
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/confile.c new/lxc-5.0.3/src/lxc/confile.c
--- old/lxc-5.0.2/src/lxc/confile.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/confile.c 2023-07-26 00:00:11.000000000 +0200
@@ -2770,7 +2770,7 @@
return 0;
}
- if (value[strlen(value)-1] == '/' || is_dir(value))
+ if (value[strlen(value)-1] == '/' || lxc_is_dir(value))
return do_includedir(value, lxc_conf);
return lxc_config_read(value, lxc_conf, true);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/confile_utils.c new/lxc-5.0.3/src/lxc/confile_utils.c
--- old/lxc-5.0.2/src/lxc/confile_utils.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/confile_utils.c 2023-07-26 00:00:11.000000000 +0200
@@ -653,7 +653,7 @@
{
__do_free char *valdup = NULL;
- valdup = path_simplify(value);
+ valdup = lxc_path_simplify(value);
if (!valdup)
return -ENOMEM;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/criu.c new/lxc-5.0.3/src/lxc/criu.c
--- old/lxc-5.0.2/src/lxc/criu.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/criu.c 2023-07-26 00:00:11.000000000 +0200
@@ -321,7 +321,7 @@
return log_error_errno(-ENOMEM, ENOMEM, "Failed to duplicate limit cgroup path");
}
- tmp = path_simplify(cgroup_base_path);
+ tmp = lxc_path_simplify(cgroup_base_path);
if (!tmp)
return log_error_errno(-ENOMEM, ENOMEM, "Failed to remove extraneous slashes from \"%s\"", cgroup_base_path);
free_move_ptr(cgroup_base_path, tmp);
@@ -1224,7 +1224,7 @@
return false;
}
- if (mkdir_p(opts->directory, 0700) < 0)
+ if (lxc_mkdir_p(opts->directory, 0700) < 0)
goto fail;
pid = fork();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/file_utils.c new/lxc-5.0.3/src/lxc/file_utils.c
--- old/lxc-5.0.2/src/lxc/file_utils.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/file_utils.c 2023-07-26 00:00:11.000000000 +0200
@@ -275,7 +275,7 @@
return ret;
}
-int is_dir(const char *path)
+int lxc_is_dir(const char *path)
{
int ret;
struct stat statbuf;
@@ -332,7 +332,7 @@
return move_fd(fd);
}
-bool is_fs_type(const struct statfs *fs, fs_type_magic magic_val)
+bool lxc_is_fs_type(const struct statfs *fs, fs_type_magic magic_val)
{
return (fs->f_type == (fs_type_magic)magic_val);
}
@@ -346,7 +346,7 @@
if (ret < 0)
return false;
- return is_fs_type(&sb, magic_val);
+ return lxc_is_fs_type(&sb, magic_val);
}
bool fhas_fs_type(int fd, fs_type_magic magic_val)
@@ -358,7 +358,7 @@
if (ret < 0)
return false;
- return is_fs_type(&sb, magic_val);
+ return lxc_is_fs_type(&sb, magic_val);
}
FILE *fopen_cloexec(const char *path, const char *mode)
@@ -549,7 +549,7 @@
return f;
}
-int fd_cloexec(int fd, bool cloexec)
+int lxc_fd_cloexec(int fd, bool cloexec)
{
int oflags, nflags;
@@ -688,7 +688,7 @@
return move_fd(fd);
}
-int fd_make_nonblocking(int fd)
+int fd_make_blocking(int fd)
{
int flags;
@@ -700,6 +700,18 @@
return fcntl(fd, F_SETFL, flags);
}
+int fd_make_nonblocking(int fd)
+{
+ int flags;
+
+ flags = fcntl(fd, F_GETFL);
+ if (flags < 0)
+ return -1;
+
+ flags |= O_NONBLOCK;
+ return fcntl(fd, F_SETFL, flags);
+}
+
#define BATCH_SIZE 50
static void batch_realloc(char **mem, size_t oldlen, size_t newlen)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/file_utils.h new/lxc-5.0.3/src/lxc/file_utils.h
--- old/lxc-5.0.2/src/lxc/file_utils.h 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/file_utils.h 2023-07-26 00:00:11.000000000 +0200
@@ -75,7 +75,7 @@
__hidden extern bool file_exists(const char *f);
__hidden extern int print_to_file(const char *file, const char *content);
-__hidden extern int is_dir(const char *path);
+__hidden extern int lxc_is_dir(const char *path);
__hidden extern int lxc_count_file_lines(const char *fn);
__hidden extern int lxc_make_tmpfile(char *template, bool rm);
@@ -83,7 +83,7 @@
typedef __typeof__(((struct statfs *)NULL)->f_type) fs_type_magic;
__hidden extern bool has_fs_type(const char *path, fs_type_magic magic_val);
__hidden extern bool fhas_fs_type(int fd, fs_type_magic magic_val);
-__hidden extern bool is_fs_type(const struct statfs *fs, fs_type_magic magic_val);
+__hidden extern bool lxc_is_fs_type(const struct statfs *fs, fs_type_magic magic_val);
__hidden extern FILE *fopen_cloexec(const char *path, const char *mode);
__hidden extern ssize_t lxc_sendfile_nointr(int out_fd, int in_fd, off_t *offset, size_t count);
__hidden extern char *file_to_buf(const char *path, size_t *length);
@@ -93,7 +93,7 @@
{
return __fd_to_fd(from, to) >= 0;
}
-__hidden extern int fd_cloexec(int fd, bool cloexec);
+__hidden extern int lxc_fd_cloexec(int fd, bool cloexec);
__hidden extern int lxc_open_dirfd(const char *dir);
__hidden extern FILE *fdopen_cached(int fd, const char *mode, void **caller_freed_buffer);
__hidden extern FILE *fdopen_at(int dfd, const char *path, const char *mode,
@@ -109,6 +109,7 @@
unsigned int o_flags,
unsigned int resolve_flags, mode_t mode);
__hidden extern int open_beneath(int dfd, const char *path, unsigned int flags);
+__hidden int fd_make_blocking(int fd);
__hidden int fd_make_nonblocking(int fd);
__hidden extern char *read_file_at(int dfd, const char *fnam,
unsigned int o_flags,
@@ -132,7 +133,7 @@
if (fd_dup < 0)
return -errno;
- if (fd_cloexec(fd_dup, true))
+ if (lxc_fd_cloexec(fd_dup, true))
return -errno;
return move_fd(fd_dup);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/initutils.c new/lxc-5.0.3/src/lxc/initutils.c
--- old/lxc-5.0.2/src/lxc/initutils.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/initutils.c 2023-07-26 00:00:11.000000000 +0200
@@ -224,7 +224,7 @@
* PR_SET_MM_MAP requires us to set it all at once, so we have to
* figure it out anyway.
*/
- unsigned long start_data, end_data, start_brk, start_code, end_code,
+ uint64_t start_data, end_data, start_brk, start_code, end_code,
start_stack, arg_start, arg_end, env_start, env_end, brk_val;
struct prctl_mm_map prctl_map;
@@ -242,32 +242,35 @@
buf[bytes_read] = '\0';
- /* Skip the first 25 fields, column 26-28 are start_code, end_code,
- * and start_stack */
- buf_ptr = strchr(buf, ' ');
+ /*
+ * executable names may contain spaces, so we search backwards for the
+ * ), which is the kernel's marker for "end of executable name". this
+ * puts the pointer at the end of the second field.
+ */
+ buf_ptr = strrchr(buf, ')');
+ if (!buf_ptr)
+ return -1;
+
+ /* Skip the space and the next 23 fields, column 26-28 are start_code,
+ * end_code, and start_stack */
for (i = 0; i < 24; i++) {
+ buf_ptr = strchr(buf_ptr + 1, ' ');
if (!buf_ptr)
return -1;
- buf_ptr = strchr(buf_ptr + 1, ' ');
}
- if (!buf_ptr)
- return -1;
- i = sscanf(buf_ptr, "%lu %lu %lu", &start_code, &end_code, &start_stack);
+ i = sscanf(buf_ptr, "%" PRIu64 " %" PRIu64 " %" PRIu64, &start_code, &end_code, &start_stack);
if (i != 3)
return -1;
/* Skip the next 19 fields, column 45-51 are start_data to arg_end */
for (i = 0; i < 19; i++) {
+ buf_ptr = strchr(buf_ptr + 1, ' ');
if (!buf_ptr)
return -1;
- buf_ptr = strchr(buf_ptr + 1, ' ');
}
- if (!buf_ptr)
- return -1;
-
- i = sscanf(buf_ptr, "%lu %lu %lu %*u %*u %lu %lu", &start_data,
+ i = sscanf(buf_ptr, "%" PRIu64 " %" PRIu64 " %" PRIu64 " %*u %*u %" PRIu64 " %" PRIu64, &start_data,
&end_data, &start_brk, &env_start, &env_end);
if (i != 5)
return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/lsm/apparmor.c new/lxc-5.0.3/src/lxc/lsm/apparmor.c
--- old/lxc-5.0.2/src/lxc/lsm/apparmor.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/lsm/apparmor.c 2023-07-26 00:00:11.000000000 +0200
@@ -973,12 +973,14 @@
goto out;
}
old_len = profile_sb.st_size;
- old_content = lxc_strmmap(NULL, old_len, PROT_READ,
- MAP_PRIVATE, profile_fd, 0);
- if (old_content == MAP_FAILED) {
- SYSERROR("Failed to mmap old profile from %s",
- profile_path);
- goto out;
+ if (old_len) {
+ old_content = lxc_strmmap(NULL, old_len, PROT_READ,
+ MAP_PRIVATE, profile_fd, 0);
+ if (old_content == MAP_FAILED) {
+ SYSERROR("Failed to mmap old profile from %s",
+ profile_path);
+ goto out;
+ }
}
} else if (errno != ENOENT) {
SYSERROR("Error reading old profile from %s", profile_path);
@@ -994,14 +996,14 @@
if (!old_content || old_len != content_len || memcmp(old_content, new_content, content_len) != 0) {
char *path;
- ret = mkdir_p(APPARMOR_CACHE_DIR, 0755);
+ ret = lxc_mkdir_p(APPARMOR_CACHE_DIR, 0755);
if (ret < 0) {
SYSERROR("Error creating AppArmor profile cache directory " APPARMOR_CACHE_DIR);
goto out;
}
path = apparmor_dir(conf->name, lxcpath);
- ret = mkdir_p(path, 0755);
+ ret = lxc_mkdir_p(path, 0755);
if (ret < 0) {
SYSERROR("Error creating AppArmor profile directory: %s", path);
free(path);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/lxccontainer.c new/lxc-5.0.3/src/lxc/lxccontainer.c
--- old/lxc-5.0.2/src/lxc/lxccontainer.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/lxccontainer.c 2023-07-26 00:00:11.000000000 +0200
@@ -4159,7 +4159,7 @@
i = get_next_index(snappath, c->name);
- if (mkdir_p(snappath, 0755) < 0) {
+ if (lxc_mkdir_p(snappath, 0755) < 0) {
ERROR("Failed to create snapshot directory %s", snappath);
return -1;
}
@@ -4174,7 +4174,7 @@
*/
flags = LXC_CLONE_SNAPSHOT | LXC_CLONE_KEEPMACADDR | LXC_CLONE_KEEPNAME |
LXC_CLONE_KEEPBDEVTYPE | LXC_CLONE_MAYBE_SNAPSHOT;
- if (storage_is_dir(c->lxc_conf)) {
+ if (storage_lxc_is_dir(c->lxc_conf)) {
ERROR("Snapshot of directory-backed container requested");
ERROR("Making a copy-clone. If you do want snapshots, then");
ERROR("please create overlay clone first, snapshot that");
@@ -4608,7 +4608,7 @@
_exit(EXIT_FAILURE);
directory_path = dirname(tmp);
- ret = mkdir_p(directory_path, 0755);
+ ret = lxc_mkdir_p(directory_path, 0755);
if (ret < 0 && errno != EEXIST) {
SYSERROR("Failed to create path \"%s\"", directory_path);
free(tmp);
@@ -4978,7 +4978,7 @@
}
destdirname = dirname(dirdup);
- ret = mkdir_p(destdirname, 0755);
+ ret = lxc_mkdir_p(destdirname, 0755);
if (ret < 0) {
SYSERROR("Failed to create \"%s\"", destdirname);
free(dirdup);
@@ -5012,7 +5012,7 @@
char template[PATH_MAX], path[PATH_MAX];
pid_t pid, init_pid;
struct stat sb;
- bool is_dir;
+ bool lxc_is_dir;
int ret = -1, fd = -EBADF;
if (!c || !c->lxc_conf) {
@@ -5043,8 +5043,8 @@
}
}
- is_dir = (S_ISDIR(sb.st_mode) != 0);
- if (is_dir) {
+ lxc_is_dir = (S_ISDIR(sb.st_mode) != 0);
+ if (lxc_is_dir) {
sret = mkdtemp(template);
if (!sret) {
SYSERROR("Could not create shmounts temporary dir");
@@ -5133,7 +5133,7 @@
if (umount2(template, MNT_DETACH))
SYSWARN("Failed to remove temporary mount \"%s\"", template);
- if (is_dir)
+ if (lxc_is_dir)
(void)rmdir(template);
else
(void)unlink(template);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/lxclock.c new/lxc-5.0.3/src/lxc/lxclock.c
--- old/lxc-5.0.2/src/lxc/lxclock.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/lxclock.c 2023-07-26 00:00:11.000000000 +0200
@@ -105,7 +105,7 @@
if (ret < 0)
return NULL;
- ret = mkdir_p(dest, 0755);
+ ret = lxc_mkdir_p(dest, 0755);
if (ret < 0)
return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/mainloop.c new/lxc-5.0.3/src/lxc/mainloop.c
--- old/lxc-5.0.2/src/lxc/mainloop.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/mainloop.c 2023-07-26 00:00:11.000000000 +0200
@@ -163,6 +163,16 @@
io_uring_prep_poll_add(sqe, handler->fd, EPOLLIN);
/*
+ * FIXME: workaround an issue with false-positive
+ * io_uring POLL events when multishot mode is enabled.
+ *
+ * It's safe to override oneshot argument here, execution
+ * will go to the same codepath as if kernel lacks IORING_POLL_ADD_MULTI
+ * mode support.
+ */
+ oneshot = true;
+
+ /*
* Raise IORING_POLL_ADD_MULTI to set up a multishot poll. The same sqe
* will now produce multiple cqes. A cqe produced from a multishot sqe
* will raise IORING_CQE_F_MORE in cqe->flags.
@@ -205,7 +215,7 @@
return syserror_set(ENOENT,
"Failed to get submission queue entry");
- io_uring_prep_poll_remove(sqe, handler);
+ io_uring_prep_poll_remove(sqe, PTR_TO_U64(handler));
io_uring_sqe_set_data(sqe, handler);
ret = io_uring_submit(descr->ring);
if (ret < 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/monitor.c new/lxc-5.0.3/src/lxc/monitor.c
--- old/lxc-5.0.2/src/lxc/monitor.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/monitor.c 2023-07-26 00:00:11.000000000 +0200
@@ -54,7 +54,7 @@
free(rundir);
return -1;
}
- ret = mkdir_p(fifo_path, 0755);
+ ret = lxc_mkdir_p(fifo_path, 0755);
if (ret < 0) {
ERROR("Unable to create monitor fifo directory %s", fifo_path);
free(rundir);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/pam/pam_cgfs.c new/lxc-5.0.3/src/lxc/pam/pam_cgfs.c
--- old/lxc-5.0.2/src/lxc/pam/pam_cgfs.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/pam/pam_cgfs.c 2023-07-26 00:00:11.000000000 +0200
@@ -197,7 +197,7 @@
}
/* Create directory and (if necessary) its parents. */
-static bool mkdir_parent(const char *root, char *path)
+static bool lxc_mkdir_parent(const char *root, char *path)
{
char *b, orig, *e;
@@ -2042,7 +2042,7 @@
return our_cg;
}
- created = mkdir_parent(it->mountpoint, path);
+ created = lxc_mkdir_parent(it->mountpoint, path);
if (!created) {
free(path);
continue;
@@ -2198,7 +2198,7 @@
}
}
- created = mkdir_parent(v2->mountpoint, path);
+ created = lxc_mkdir_parent(v2->mountpoint, path);
if (!created) {
free(path);
return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/seccomp.c new/lxc-5.0.3/src/lxc/seccomp.c
--- old/lxc-5.0.2/src/lxc/seccomp.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/seccomp.c 2023-07-26 00:00:11.000000000 +0200
@@ -1282,8 +1282,8 @@
return -1;
}
- if (fd_make_nonblocking(ret))
- return log_error_errno(-1, errno, "Failed to make seccomp listener fd non-blocking");;
+ if (fd_make_blocking(ret))
+ return log_error_errno(-1, errno, "Failed to make seccomp listener fd blocking");
conf->seccomp.notifier.notify_fd = ret;
TRACE("Retrieved new seccomp listener fd %d", ret);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/storage/dir.c new/lxc-5.0.3/src/lxc/storage/dir.c
--- old/lxc-5.0.2/src/lxc/storage/dir.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/storage/dir.c 2023-07-26 00:00:11.000000000 +0200
@@ -81,7 +81,7 @@
if (!bdev_dest)
return ret_errno(ENOMEM);
- ret = mkdir_p(dest, 0755);
+ ret = lxc_mkdir_p(dest, 0755);
if (ret < 0)
return log_error_errno(-errno, errno, "Failed to create directory \"%s\"", dest);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/storage/loop.c new/lxc-5.0.3/src/lxc/storage/loop.c
--- old/lxc-5.0.2/src/lxc/storage/loop.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/storage/loop.c 2023-07-26 00:00:11.000000000 +0200
@@ -165,7 +165,7 @@
return -1;
}
- ret = mkdir_p(bdev->dest, 0755);
+ ret = lxc_mkdir_p(bdev->dest, 0755);
if (ret < 0) {
ERROR("Failed creating directory \"%s\"", bdev->dest);
return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/storage/lvm.c new/lxc-5.0.3/src/lxc/storage/lvm.c
--- old/lxc-5.0.2/src/lxc/storage/lvm.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/storage/lvm.c 2023-07-26 00:00:11.000000000 +0200
@@ -456,7 +456,7 @@
return -1;
}
- ret = mkdir_p(new->dest, 0755);
+ ret = lxc_mkdir_p(new->dest, 0755);
if (ret < 0) {
SYSERROR("Failed to create directory \"%s\"", new->dest);
return -1;
@@ -645,7 +645,7 @@
return -1;
}
- ret = mkdir_p(bdev->dest, 0755);
+ ret = lxc_mkdir_p(bdev->dest, 0755);
if (ret < 0) {
SYSERROR("Failed to create directory \"%s\"", bdev->dest);
return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/storage/overlay.c new/lxc-5.0.3/src/lxc/storage/overlay.c
--- old/lxc-5.0.2/src/lxc/storage/overlay.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/storage/overlay.c 2023-07-26 00:00:11.000000000 +0200
@@ -50,7 +50,7 @@
new->dest = must_make_path(lxcpath, cname, "rootfs", NULL);
- ret = mkdir_p(new->dest, 0755);
+ ret = lxc_mkdir_p(new->dest, 0755);
if (ret < 0 && errno != EEXIST) {
SYSERROR("Failed to create directory \"%s\"", new->dest);
return -1;
@@ -68,7 +68,7 @@
delta = must_make_path(lxcpath, cname, LXC_OVERLAY_DELTA_PATH, NULL);
- ret = mkdir_p(delta, 0755);
+ ret = lxc_mkdir_p(delta, 0755);
if (ret < 0 && errno != EEXIST)
return log_error_errno(-errno, errno, "Failed to create directory \"%s\"", delta);
@@ -83,7 +83,7 @@
*/
work = must_make_path(lxcpath, cname, LXC_OVERLAY_WORK_PATH, NULL);
- ret = mkdir_p(work, 0755);
+ ret = lxc_mkdir_p(work, 0755);
if (ret < 0 && errno != EEXIST)
return log_error_errno(-errno, errno, "Failed to create directory \"%s\"", work);
@@ -142,7 +142,7 @@
odelta++;
ndelta = must_make_path(lxcpath, cname, LXC_OVERLAY_DELTA_PATH, NULL);
- ret = mkdir_p(ndelta, 0755);
+ ret = lxc_mkdir_p(ndelta, 0755);
if (ret < 0 && errno != EEXIST)
return log_error_errno(-errno, errno, "Failed to create directory \"%s\"", ndelta);
@@ -150,7 +150,7 @@
* further up.).
*/
work = must_make_path(lxcpath, cname, LXC_OVERLAY_WORK_PATH, NULL);
- ret = mkdir_p(work, 0755);
+ ret = lxc_mkdir_p(work, 0755);
if (ret < 0 && errno != EEXIST)
return log_error_errno(-errno, errno, "Failed to create directory \"%s\"", ndelta);
@@ -191,11 +191,11 @@
* don't need to record a dependency. If we would restore would
* also fail.
*/
- clean_old_path = path_simplify(oldpath);
+ clean_old_path = lxc_path_simplify(oldpath);
if (!clean_old_path)
return log_error_errno(-ENOMEM, ENOMEM, "Failed to create clean path for \"%s\"", oldpath);
- clean_new_path = path_simplify(lxcpath);
+ clean_new_path = lxc_path_simplify(lxcpath);
if (!clean_new_path)
return log_error_errno(-ENOMEM, ENOMEM, "Failed to create clean path for \"%s\"", lxcpath);
@@ -271,7 +271,7 @@
delta = must_make_path(tmp, LXC_OVERLAY_DELTA_PATH, NULL);
- ret = mkdir_p(delta, 0755);
+ ret = lxc_mkdir_p(delta, 0755);
if (ret < 0 && errno != EEXIST)
return log_error_errno(-errno, errno, "Failed to create directory \"%s\"", delta);
@@ -298,7 +298,7 @@
if (ret < 0 || (size_t)ret >= len)
return log_error_errno(-EIO, EIO, "Failed to create rootfs path");
- ret = mkdir_p(bdev->dest, 0755);
+ ret = lxc_mkdir_p(bdev->dest, 0755);
if (ret < 0 && errno != EEXIST)
return log_error_errno(-errno, errno, "Failed to create directory \"%s\"", bdev->dest);
@@ -389,7 +389,7 @@
upper++;
/* if delta doesn't yet exist, create it */
- ret = mkdir_p(upper, 0755);
+ ret = lxc_mkdir_p(upper, 0755);
if (ret < 0 && errno != EEXIST) {
SYSERROR("Failed to create directory \"%s\"", upper);
free(dup);
@@ -422,7 +422,7 @@
return -22;
}
- ret = mkdir_p(work, 0755);
+ ret = lxc_mkdir_p(work, 0755);
if (ret < 0 && errno != EEXIST) {
SYSERROR("Failed to create directory \"%s\"", work);
free(mntdata);
@@ -623,10 +623,10 @@
ret = 0;
if (upperdir) {
if (!rootfs_path)
- ret = mkdir_p(upperdir, 0755);
+ ret = lxc_mkdir_p(upperdir, 0755);
else if (!strncmp(upperdir, lxcpath, dirlen) &&
strncmp(upperdir, rootfs_dir, rootfslen))
- ret = mkdir_p(upperdir, 0755);
+ ret = lxc_mkdir_p(upperdir, 0755);
if (ret < 0)
SYSWARN("Failed to create directory \"%s\"", upperdir);
@@ -635,10 +635,10 @@
ret = 0;
if (workdir) {
if (!rootfs_path)
- ret = mkdir_p(workdir, 0755);
+ ret = lxc_mkdir_p(workdir, 0755);
else if (!strncmp(workdir, lxcpath, dirlen) &&
strncmp(workdir, rootfs_dir, rootfslen))
- ret = mkdir_p(workdir, 0755);
+ ret = lxc_mkdir_p(workdir, 0755);
if (ret < 0)
SYSWARN("Failed to create directory \"%s\"", workdir);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/storage/rbd.c new/lxc-5.0.3/src/lxc/storage/rbd.c
--- old/lxc-5.0.2/src/lxc/storage/rbd.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/storage/rbd.c 2023-07-26 00:00:11.000000000 +0200
@@ -160,7 +160,7 @@
return -1;
}
- ret = mkdir_p(bdev->dest, 0755);
+ ret = lxc_mkdir_p(bdev->dest, 0755);
if (ret < 0 && errno != EEXIST) {
ERROR("Failed to create directory \"%s\"", bdev->dest);
return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/storage/storage.c new/lxc-5.0.3/src/lxc/storage/storage.c
--- old/lxc-5.0.2/src/lxc/storage/storage.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/storage/storage.c 2023-07-26 00:00:11.000000000 +0200
@@ -370,7 +370,7 @@
ret = stat(orig->dest, &sb);
if (ret < 0 && errno == ENOENT) {
- ret = mkdir_p(orig->dest, 0755);
+ ret = lxc_mkdir_p(orig->dest, 0755);
if (ret < 0)
WARN("Failed to create directory \"%s\"", orig->dest);
}
@@ -638,7 +638,7 @@
return bdev;
}
-bool storage_is_dir(struct lxc_conf *conf)
+bool storage_lxc_is_dir(struct lxc_conf *conf)
{
struct lxc_storage *orig;
char *type = conf->rootfs.bdev_type;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/storage/storage.h new/lxc-5.0.3/src/lxc/storage/storage.h
--- old/lxc-5.0.2/src/lxc/storage/storage.h 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/storage/storage.h 2023-07-26 00:00:11.000000000 +0200
@@ -94,7 +94,7 @@
};
/**
- * storage_is_dir : Check whether the roots is a directory. This function will
+ * storage_lxc_is_dir : Check whether the roots is a directory. This function will
* trust the config file. If the config file key
* lxc.rootfs.path is set to <storage type>:<container path>
* the confile parser will have split this into <storage type>
@@ -105,7 +105,7 @@
* type specifications. If the <storage type> prefix is not
* detected liblxc will try to detect the storage type.
*/
-__hidden extern bool storage_is_dir(struct lxc_conf *conf);
+__hidden extern bool storage_lxc_is_dir(struct lxc_conf *conf);
__hidden extern bool storage_can_backup(struct lxc_conf *conf);
__hidden extern struct lxc_storage *storage_init(struct lxc_conf *conf);
__hidden extern struct lxc_storage *storage_copy(struct lxc_container *c, const char *cname,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/storage/zfs.c new/lxc-5.0.3/src/lxc/storage/zfs.c
--- old/lxc-5.0.2/src/lxc/storage/zfs.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/storage/zfs.c 2023-07-26 00:00:11.000000000 +0200
@@ -293,7 +293,7 @@
TRACE("Created zfs dataset \"%s\"", new->src);
}
- ret = mkdir_p(new->dest, 0755);
+ ret = lxc_mkdir_p(new->dest, 0755);
if (ret < 0 && errno != EEXIST) {
SYSERROR("Failed to create directory \"%s\"", new->dest);
return false;
@@ -542,7 +542,7 @@
return -1;
}
- ret = mkdir_p(new->dest, 0755);
+ ret = lxc_mkdir_p(new->dest, 0755);
if (ret < 0 && errno != EEXIST) {
SYSERROR("Failed to create directory \"%s\"", new->dest);
return -1;
@@ -740,7 +740,7 @@
TRACE("Created zfs dataset \"%s\"", bdev->src);
}
- ret = mkdir_p(bdev->dest, 0755);
+ ret = lxc_mkdir_p(bdev->dest, 0755);
if (ret < 0 && errno != EEXIST) {
SYSERROR("Failed to create directory \"%s\"", bdev->dest);
return -1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/string_utils.c new/lxc-5.0.3/src/lxc/string_utils.c
--- old/lxc-5.0.2/src/lxc/string_utils.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/string_utils.c 2023-07-26 00:00:11.000000000 +0200
@@ -187,7 +187,7 @@
}
/* taken from systemd */
-char *path_simplify(const char *path)
+char *lxc_path_simplify(const char *path)
{
__do_free char *path_new = NULL;
char *f, *t;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/string_utils.h new/lxc-5.0.3/src/lxc/string_utils.h
--- old/lxc-5.0.2/src/lxc/string_utils.h 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/string_utils.h 2023-07-26 00:00:11.000000000 +0200
@@ -188,6 +188,6 @@
(__iterator = __it); \
__iterator = __it = strtok_r(NULL, __separators, &__p))
-__hidden extern char *path_simplify(const char *path);
+__hidden extern char *lxc_path_simplify(const char *path);
#endif /* __LXC_STRING_UTILS_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/terminal.c new/lxc-5.0.3/src/lxc/terminal.c
--- old/lxc-5.0.2/src/lxc/terminal.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/terminal.c 2023-07-26 00:00:11.000000000 +0200
@@ -334,9 +334,12 @@
int r, w, w_log, w_rbuf;
w = r = lxc_read_nointr(terminal->ptx, buf, sizeof(buf));
- if (r <= 0)
- return -1;
+ if (r <= 0) {
+ if (errno == EWOULDBLOCK)
+ return 0;
+ return -1;
+ }
w_rbuf = w_log = 0;
/* write to peer first */
if (terminal->peer >= 0)
@@ -370,8 +373,12 @@
int r, w;
w = r = lxc_read_nointr(terminal->peer, buf, sizeof(buf));
- if (r <= 0)
+ if (r <= 0) {
+ if (errno == EWOULDBLOCK)
+ return 0;
+
return -1;
+ }
w = lxc_write_nointr(terminal->ptx, buf, r);
if (w != r)
@@ -415,6 +422,9 @@
int ret;
if (terminal->peer >= 0) {
+ if (fd_make_nonblocking(terminal->peer))
+ return log_error_errno(-1, errno, "Failed to make terminal peer fd non-blocking");
+
ret = lxc_mainloop_add_handler(terminal->descr, terminal->peer,
lxc_terminal_peer_io_handler,
default_cleanup_handler,
@@ -452,6 +462,9 @@
return 0;
}
+ if (fd_make_nonblocking(terminal->ptx))
+ return log_error_errno(-1, errno, "Failed to make terminal ptx fd non-blocking");
+
ret = lxc_mainloop_add_handler(descr, terminal->ptx,
lxc_terminal_ptx_io_handler,
default_cleanup_handler,
@@ -577,13 +590,13 @@
goto on_error;
}
- ret = fd_cloexec(terminal->proxy.ptx, true);
+ ret = lxc_fd_cloexec(terminal->proxy.ptx, true);
if (ret < 0) {
SYSERROR("Failed to set FD_CLOEXEC flag on proxy terminal ptx");
goto on_error;
}
- ret = fd_cloexec(terminal->proxy.pty, true);
+ ret = lxc_fd_cloexec(terminal->proxy.pty, true);
if (ret < 0) {
SYSERROR("Failed to set FD_CLOEXEC flag on proxy terminal pty");
goto on_error;
@@ -917,13 +930,13 @@
goto err;
}
- ret = fd_cloexec(terminal->ptx, true);
+ ret = lxc_fd_cloexec(terminal->ptx, true);
if (ret < 0) {
SYSERROR("Failed to set FD_CLOEXEC flag on terminal ptx");
goto err;
}
- ret = fd_cloexec(terminal->pty, true);
+ ret = lxc_fd_cloexec(terminal->pty, true);
if (ret < 0) {
SYSERROR("Failed to set FD_CLOEXEC flag on terminal pty");
goto err;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/tools/lxc_copy.c new/lxc-5.0.3/src/lxc/tools/lxc_copy.c
--- old/lxc-5.0.2/src/lxc/tools/lxc_copy.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/tools/lxc_copy.c 2023-07-26 00:00:11.000000000 +0200
@@ -358,7 +358,7 @@
goto err;
} else if (m->mnt_type == LXC_MNT_BIND) {
len = strlen(" none bind,optional,, 0 0") +
- strlen(is_dir(m->src) ? "create=dir" : "create=file") +
+ strlen(lxc_is_dir(m->src) ? "create=dir" : "create=file") +
strlen(m->src) + strlen(m->dest) + strlen(m->options) + 1;
mntentry = malloc(len);
@@ -367,7 +367,7 @@
ret = snprintf(mntentry, len, "%s %s none bind,optional,%s,%s 0 0",
m->src, m->dest, m->options,
- is_dir(m->src) ? "create=dir" : "create=file");
+ lxc_is_dir(m->src) ? "create=dir" : "create=file");
if (ret < 0 || (size_t)ret >= len)
goto err;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/tools/lxc_create.c new/lxc-5.0.3/src/lxc/tools/lxc_create.c
--- old/lxc-5.0.2/src/lxc/tools/lxc_create.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/tools/lxc_create.c 2023-07-26 00:00:11.000000000 +0200
@@ -244,7 +244,7 @@
if (!my_args.lxcpath[0])
my_args.lxcpath[0] = lxc_get_global_config_item("lxc.lxcpath");
- if (mkdir_p(my_args.lxcpath[0], 0755))
+ if (lxc_mkdir_p(my_args.lxcpath[0], 0755))
exit(EXIT_FAILURE);
if (geteuid())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/utils.c new/lxc-5.0.3/src/lxc/utils.c
--- old/lxc-5.0.2/src/lxc/utils.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/utils.c 2023-07-26 00:00:11.000000000 +0200
@@ -212,7 +212,7 @@
return 0;
}
-int mkdir_p(const char *dir, mode_t mode)
+int lxc_mkdir_p(const char *dir, mode_t mode)
{
const char *tmp = dir;
const char *orig = dir;
@@ -1690,7 +1690,7 @@
if (dupfd < 0)
return -1;
- if (fd_cloexec(dupfd, true) < 0)
+ if (lxc_fd_cloexec(dupfd, true) < 0)
return -1;
f = fdopen(dupfd, "re");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/lxc/utils.h new/lxc-5.0.3/src/lxc/utils.h
--- old/lxc-5.0.2/src/lxc/utils.h 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/lxc/utils.h 2023-07-26 00:00:11.000000000 +0200
@@ -26,7 +26,7 @@
/* returns 1 on success, 0 if there were any failures */
__hidden extern int lxc_rmdir_onedev(const char *path, const char *exclude);
__hidden extern int get_u16(unsigned short *val, const char *arg, int base);
-__hidden extern int mkdir_p(const char *dir, mode_t mode);
+__hidden extern int lxc_mkdir_p(const char *dir, mode_t mode);
__hidden extern char *get_rundir(void);
/* Define getline() if missing from the C library */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/tests/console_log.c new/lxc-5.0.3/src/tests/console_log.c
--- old/lxc-5.0.2/src/tests/console_log.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/tests/console_log.c 2023-07-26 00:00:11.000000000 +0200
@@ -133,6 +133,11 @@
goto on_error_stop;
}
+ if (!c->wait(c, "STOPPED", 5)) {
+ lxc_error("%s\n", "Failed waiting for container \"console-log\" to stop");
+ goto on_error_stop;
+ }
+
c->clear_config(c);
if (!c->load_config(c, NULL)) {
@@ -165,6 +170,11 @@
goto on_error_stop;
}
+ if (!c->wait(c, "STOPPED", 5)) {
+ lxc_error("%s\n", "Failed waiting for container \"console-log\" to stop");
+ goto on_error_stop;
+ }
+
if (!c->startl(c, 0, NULL)) {
lxc_error("%s\n", "Failed to start container \"console-log\" daemonized");
goto on_error_destroy;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/tests/createtest.c new/lxc-5.0.3/src/tests/createtest.c
--- old/lxc-5.0.2/src/tests/createtest.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/tests/createtest.c 2023-07-26 00:00:11.000000000 +0200
@@ -56,7 +56,7 @@
c->set_config_item(c, "lxc.net.0.flags", "up");
if (!c->createl(c, "busybox", NULL, NULL, 0, NULL)) {
- fprintf(stderr, "%d: failed to create a trusty container\n", __LINE__);
+ fprintf(stderr, "%d: failed to create a container\n", __LINE__);
goto out;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/tests/get_item.c new/lxc-5.0.3/src/tests/get_item.c
--- old/lxc-5.0.2/src/tests/get_item.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/tests/get_item.c 2023-07-26 00:00:11.000000000 +0200
@@ -509,7 +509,7 @@
}
if (!c->createl(c, "busybox", NULL, NULL, 0, NULL)) {
- fprintf(stderr, "%d: failed to create a trusty container\n", __LINE__);
+ fprintf(stderr, "%d: failed to create a container\n", __LINE__);
goto out;
}
lxc_container_put(c);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/tests/lxc-test-fuzzers new/lxc-5.0.3/src/tests/lxc-test-fuzzers
--- old/lxc-5.0.2/src/tests/lxc-test-fuzzers 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/tests/lxc-test-fuzzers 1970-01-01 01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-#!/bin/bash
-
-set -eux
-set -o pipefail
-
-TMP_DIR=$(mktemp -d)
-export ASAN_OPTIONS=${ASAN_OPTIONS:-detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:strict_string_checks=1}
-export UBSAN_OPTIONS=${UBSAN_OPTIONS:-print_stacktrace=1:print_summary=1:halt_on_error=1}
-
-cleanup() {
- rm -rf "$TMP_DIR"
-}
-
-trap cleanup exit
-
-for fuzzer in /usr/bin/fuzz-lxc-*; do
- name=$(basename "$fuzzer")
- corpus_dir="$TMP_DIR/$name"
-
- mkdir -p "$corpus_dir"
- if wget --directory-prefix="$TMP_DIR" https://storage.googleapis.com/lxc-backup.clusterfuzz-external.appspot.com/…; then
- unzip -q -d "$corpus_dir" "$TMP_DIR/public.zip"
- fi
- "$fuzzer" -max_total_time=120 "$corpus_dir"
-done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/tests/lxc-test-utils.c new/lxc-5.0.3/src/tests/lxc-test-utils.c
--- old/lxc-5.0.2/src/tests/lxc-test-utils.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/tests/lxc-test-utils.c 2023-07-26 00:00:11.000000000 +0200
@@ -43,12 +43,12 @@
#include "macro.h"
#include "utils.h"
-void test_path_simplify(void)
+void test_lxc_path_simplify(void)
{
char *s = "/A///B//C/D/E/";
char *t;
- t = path_simplify(s);
+ t = lxc_path_simplify(s);
if (!t)
exit(EXIT_FAILURE);
@@ -57,7 +57,7 @@
s = "/A";
- t = path_simplify(s);
+ t = lxc_path_simplify(s);
if (!t)
exit(EXIT_FAILURE);
@@ -65,7 +65,7 @@
free(t);
s = "";
- t = path_simplify(s);
+ t = lxc_path_simplify(s);
if (!t)
exit(EXIT_FAILURE);
@@ -74,7 +74,7 @@
s = "//";
- t = path_simplify(s);
+ t = lxc_path_simplify(s);
if (!t)
exit(EXIT_FAILURE);
@@ -607,7 +607,7 @@
{
test_lxc_string_replace();
test_lxc_string_in_array();
- test_path_simplify();
+ test_lxc_path_simplify();
test_detect_ramfs_rootfs();
test_lxc_safe_uint();
test_lxc_safe_int();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/tests/mount_injection.c new/lxc-5.0.3/src/tests/mount_injection.c
--- old/lxc-5.0.2/src/tests/mount_injection.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/tests/mount_injection.c 2023-07-26 00:00:11.000000000 +0200
@@ -391,7 +391,7 @@
{
int ret;
- ret = mkdir_p(shmount_path, 0711);
+ ret = lxc_mkdir_p(shmount_path, 0711);
if (ret < 0 && errno != EEXIST) {
fprintf(stderr, "Failed to create directory \"%s\"\n", shmount_path);
return false;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/src/tests/parse_config_file.c new/lxc-5.0.3/src/tests/parse_config_file.c
--- old/lxc-5.0.2/src/tests/parse_config_file.c 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/src/tests/parse_config_file.c 2023-07-26 00:00:11.000000000 +0200
@@ -576,7 +576,14 @@
goto non_test_error;
}
- if (set_get_compare_clear_save_load(c, "lxc.seccomp.profile", "/some/seccomp/file", tmpf, true) < 0) {
+ ret = set_get_compare_clear_save_load(c, "lxc.seccomp.profile", "/some/seccomp/file", tmpf, true);
+
+#if HAVE_SECCOMP
+ if (ret < 0)
+#else
+ if (ret == 0)
+#endif
+ {
lxc_error("%s\n", "lxc.seccomp.profile");
goto non_test_error;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lxc-5.0.2/templates/lxc-oci.in new/lxc-5.0.3/templates/lxc-oci.in
--- old/lxc-5.0.2/templates/lxc-oci.in 2023-01-16 22:08:50.000000000 +0100
+++ new/lxc-5.0.3/templates/lxc-oci.in 2023-07-26 00:00:11.000000000 +0200
@@ -36,16 +36,19 @@
LOCALSTATEDIR=@LOCALSTATEDIR@
LXC_TEMPLATE_CONFIG=@LXCTEMPLATECONFIG@
LXC_HOOK_DIR=@LXCHOOKDIR@
+MOUNT_HELPER="atomfs"
+MOUNTED_WORKDIR=""
# Some useful functions
cleanup() {
- if [ -d "${DOWNLOAD_TEMP}" ]; then
- rm -Rf "${DOWNLOAD_TEMP}"
- fi
-
if [ -d "${LXC_ROOTFS}.tmp" ]; then
rm -Rf "${LXC_ROOTFS}.tmp"
fi
+ if [ -n "${MOUNTED_WORKDIR}" ]; then
+ echo "${MOUNT_HELPER} unmount ${MOUNTED_WORKDIR}" >&2
+ "${MOUNT_HELPER}" umount "${MOUNTED_WORKDIR}"
+ MOUNTED_WORKDIR=""
+ fi
}
in_userns() {
@@ -72,28 +75,50 @@
}
getconfigpath() {
- basedir="$1"
- q="$2"
-
- digest=$(jq -c -r --arg q "$q" '.manifests[] | if .annotations."org.opencontainers.image.ref.name" == $q then .digest else empty end' < "${basedir}/index.json")
- if [ -z "${digest}" ]; then
- echo "$q not found in index.json" >&2
- return
- fi
-
- # Ok we have the image config digest, now get the config from that
+ local basedir="$1" mfpath="$2" cdigest=""
+ # Ok we have the image config digest, now get the config ref from the manifest.
# shellcheck disable=SC2039
- d=${digest:7}
- cdigest=$(jq -c -r '.config.digest' < "${basedir}/blobs/sha256/${d}")
+ cdigest=$(jq -c -r '.config.digest' < "$mfpath")
if [ -z "${cdigest}" ]; then
echo "container config not found" >&2
return
fi
- # shellcheck disable=SC2039
- d2=${cdigest:7}
- echo "${basedir}/blobs/sha256/${d2}"
- return
+ # cdigest is '<hashtype>:<hash>', so 'ht' gets type, hv gets value.
+ local ht="${cdigest%%:*}" hv="${cdigest#*:}" p=""
+ p="$basedir/blobs/$ht/$hv"
+ if [ ! -f "$p" ]; then
+ echo "config file did not exist for digest $cdigest" >&2
+ return 1
+ fi
+ echo "$p"
+}
+
+getmanifestpath() {
+ local basedir="$1" ref="$2" p=""
+ # if given 'sha256:<hash>' then return the blobs/sha256/hash
+ case "$ref" in
+ sha256:*)
+ p="$basedir/blobs/sha256/${ref#sha256:}"
+ [ -f "$p" ] && echo "$p" && return 0
+ echo "could not find manifest path to blob $ref. file did not exist: $p" >&2
+ return 1
+ ;;
+ esac
+ # find the reference by annotation
+ local blobref="" hashtype="" hashval=""
+ blobref=$(jq -c -r --arg q "$ref" '.manifests[] | if .annotations."org.opencontainers.image.ref.name" == $q then .digest else empty end' < "${basedir}/index.json")
+ # blobref is 'hashtype:hash'
+ hashtype="${blobref%%:*}"
+ hashval="${blobref#*:}"
+ p="$basedir/blobs/$hashtype/$hashval"
+ [ -f "$p" ] && echo "$p" && return 0
+ echo "did not find manifest for $ref. file did not exist: $p" >&2
+ return 1
+}
+
+getlayermediatype() {
+ jq -c -r '.layers[0].mediaType' <"$1"
}
# Get entrypoint from oci image. Use sh if unspecified
@@ -211,6 +236,13 @@
Optional arguments:
[ --username <username> ]: The username for the registry
[ --password <password> ]: The password for the registry
+[ --mount-helper <command> ]: program that will be used to mount. default is 'atomfs'
+
+ mount-helper is expected to support being called with 'mount'
+ and 'umount' subcommands as below:
+
+ mount-helper mount oci:<oci_dir>:<oci_name> <mountpoint>
+ mount-helper umount <mountpoint>
LXC internal arguments (do not pass manually!):
[ --name <name> ]: The container name
@@ -222,7 +254,7 @@
return 0
}
-if ! options=$(getopt -o u:h -l help,url:,username:,password:,no-cache,dhcp,name:,path:,rootfs:,mapped-uid:,mapped-gid: -- "$@"); then
+if ! options=$(getopt -o u:h -l help,url:,username:,password:,no-cache,dhcp,name:,path:,rootfs:,mapped-uid:,mapped-gid:,mount-helper: -- "$@"); then
usage
exit 1
fi
@@ -253,6 +285,7 @@
--rootfs) LXC_ROOTFS=$2; shift 2;;
--mapped-uid) LXC_MAPPED_UID=$2; shift 2;;
--mapped-gid) LXC_MAPPED_GID=$2; shift 2;;
+ --mount-helper) MOUNT_HELPER=$2; shift 2;;
*) break;;
esac
done
@@ -289,6 +322,7 @@
fi
fi
+OCI_DIR="$LXC_PATH/oci"
if [ "${OCI_USE_CACHE}" = "true" ]; then
if [ "$USERNS" = "yes" ]; then
DOWNLOAD_BASE="${HOME}/.cache/lxc"
@@ -296,23 +330,16 @@
DOWNLOAD_BASE="${LOCALSTATEDIR}/cache/lxc"
fi
else
- DOWNLOAD_BASE=/tmp
+ DOWNLOAD_BASE="$OCI_DIR"
fi
mkdir -p "${DOWNLOAD_BASE}"
# Trap all exit signals
trap cleanup EXIT HUP INT TERM
-if ! command -v mktemp >/dev/null 2>&1; then
- DOWNLOAD_TEMP="${DOWNLOAD_BASE}/lxc-oci.$$"
- mkdir -p "${DOWNLOAD_TEMP}"
-else
- DOWNLOAD_TEMP=$(mktemp -d -p "${DOWNLOAD_BASE}")
-fi
-
# Download the image
# shellcheck disable=SC2039
-skopeo_args=("")
+skopeo_args=("--remove-signatures" "--insecure-policy")
if [ -n "$OCI_USERNAME" ]; then
CREDENTIALS="${OCI_USERNAME}"
@@ -324,38 +351,66 @@
skopeo_args+=(--src-creds "${CREDENTIALS}")
fi
+OCI_NAME="$LXC_NAME"
if [ "${OCI_USE_CACHE}" = "true" ]; then
- # shellcheck disable=SC2039
- # shellcheck disable=SC2068
skopeo_args+=(--dest-shared-blob-dir "${DOWNLOAD_BASE}")
- # shellcheck disable=SC2039
- # shellcheck disable=SC2068
- skopeo copy ${skopeo_args[@]} "${OCI_URL}" "oci:${DOWNLOAD_TEMP}:latest"
- ln -s "${DOWNLOAD_BASE}/sha256" "${DOWNLOAD_TEMP}/blobs/sha256"
-else
- # shellcheck disable=SC2039
- # shellcheck disable=SC2068
- skopeo copy ${skopeo_args[@]} "${OCI_URL}" "oci:${DOWNLOAD_TEMP}:latest"
+ mkdir -p "${OCI_DIR}/blobs/"
+ ln -s "${DOWNLOAD_BASE}/sha256" "${OCI_DIR}/blobs/sha256"
fi
-echo "Unpacking the rootfs"
-# shellcheck disable=SC2039
-umoci_args=("")
-if [ -n "$LXC_MAPPED_UID" ] && [ "$LXC_MAPPED_UID" != "-1" ]; then
- # shellcheck disable=SC2039
- umoci_args+=(--rootless)
-fi
-# shellcheck disable=SC2039
-# shellcheck disable=SC2068
-umoci --log=error unpack ${umoci_args[@]} --image "${DOWNLOAD_TEMP}:latest" "${LXC_ROOTFS}.tmp"
-find "${LXC_ROOTFS}.tmp/rootfs" -mindepth 1 -maxdepth 1 -exec mv '{}' "${LXC_ROOTFS}/" \;
+skopeo copy "${skopeo_args[@]}" "${OCI_URL}" "oci:${OCI_DIR}:${OCI_NAME}"
+
+mfpath=$(getmanifestpath "${OCI_DIR}" "${OCI_NAME}")
+OCI_CONF_FILE=$(getconfigpath "${OCI_DIR}" "$mfpath")
+mediatype=$(getlayermediatype "$mfpath")
+echo "mfpath=$mfpath conf=$OCI_CONF_FILE" 1>&2
+echo "mediatype=$mediatype" >&2
+
+case "$mediatype" in
+ #application/vnd.oci.image.layer.v1.tar+gzip
+ application/vnd.oci.image.layer.v1.tar*)
+ echo "Unpacking tar rootfs" 2>&1
+ # shellcheck disable=SC2039
+ umoci_args=("")
+ if [ -n "$LXC_MAPPED_UID" ] && [ "$LXC_MAPPED_UID" != "-1" ]; then
+ # shellcheck disable=SC2039
+ umoci_args+=(--rootless)
+ fi
+ # shellcheck disable=SC2039
+ # shellcheck disable=SC2068
+ umoci --log=error unpack ${umoci_args[@]} --image "${OCI_DIR}:${OCI_NAME}" "${LXC_ROOTFS}.tmp"
+ find "${LXC_ROOTFS}.tmp/rootfs" -mindepth 1 -maxdepth 1 -exec mv '{}' "${LXC_ROOTFS}/" \;
+ ;;
+ #application/vnd.stacker.image.layer.squashfs+zstd+verity
+ application/vnd.*.image.layer.squashfs*)
+ if ! command -v "${MOUNT_HELPER}" >/dev/null 2>&1; then
+ echo "media type $mediatype requires $MOUNT_HELPER" >&2
+ exit 1
+ fi
+ echo "$MOUNT_HELPER mount ${OCI_DIR}:${OCI_NAME} $LXC_ROOTFS" >&2
+ "$MOUNT_HELPER" mount "${OCI_DIR}:${OCI_NAME}" "$LXC_ROOTFS"
+ MOUNTED_WORKDIR="$LXC_ROOTFS"
+ ;;
+ *)
+ echo "Unknown media type $mediatype" >&2
+ exit 1
+ ;;
+esac
-OCI_CONF_FILE=$(getconfigpath "${DOWNLOAD_TEMP}" latest)
LXC_CONF_FILE="${LXC_PATH}/config"
entrypoint=$(getep "${OCI_CONF_FILE}")
echo "lxc.execute.cmd = '${entrypoint}'" >> "${LXC_CONF_FILE}"
echo "lxc.mount.auto = proc:mixed sys:mixed cgroup:mixed" >> "${LXC_CONF_FILE}"
+case "$mediatype" in
+ application/vnd.*.image.layer.squashfs*)
+ echo "lxc.hook.version = 1" >> "${LXC_CONF_FILE}"
+ # shellcheck disable=SC2016
+ echo "lxc.hook.pre-mount = $MOUNT_HELPER mount" \
+ '${LXC_ROOTFS_PATH}/../oci:${LXC_NAME} ${LXC_ROOTFS_PATH}' \
+ >> "${LXC_CONF_FILE}";;
+esac
+
environment=$(getenv "${OCI_CONF_FILE}")
# shellcheck disable=SC2039
while read -r line; do
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package syslog-ng for openSUSE:Factory checked in at 2023-07-31 15:24:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/syslog-ng (Old)
and /work/SRC/openSUSE:Factory/.syslog-ng.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "syslog-ng"
Mon Jul 31 15:24:40 2023 rev:125 rq:1101491 version:4.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/syslog-ng/syslog-ng.changes 2023-07-27 16:52:01.922229049 +0200
+++ /work/SRC/openSUSE:Factory/.syslog-ng.new.32662/syslog-ng.changes 2023-07-31 15:24:47.943473051 +0200
@@ -1,0 +2,7 @@
+Mon Jul 31 08:28:57 UTC 2023 - peter czanik <peter(a)czanik.hu>
+
+- update to version 4.3.1
+ * fixes a crash bug in Python support
+ * opensearch destination (SCL)
+
+-------------------------------------------------------------------
Old:
----
syslog-ng-4.3.0.tar.gz
New:
----
syslog-ng-4.3.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ syslog-ng.spec ++++++
--- /var/tmp/diff_new_pack.vm3Ibo/_old 2023-07-31 15:24:48.787477923 +0200
+++ /var/tmp/diff_new_pack.vm3Ibo/_new 2023-07-31 15:24:48.791477947 +0200
@@ -76,7 +76,7 @@
%bcond_with mongodb
%bcond_with amqp
Name: syslog-ng
-Version: 4.3.0
+Version: 4.3.1
Release: 0
Summary: Enhanced system logging daemon
License: GPL-2.0-only
@@ -640,6 +640,7 @@
%dir %{_datadir}/syslog-ng/include/scl/python/
%dir %{_datadir}/syslog-ng/include/scl/splunk/
%dir %{_datadir}/syslog-ng/include/scl/logscale/
+%dir %{_datadir}/syslog-ng/include/scl/opensearch/
%dir %{_datadir}/syslog-ng/xsd
%dir %{_sysconfdir}/syslog-ng
%dir %{_sysconfdir}/syslog-ng/conf.d
@@ -743,6 +744,7 @@
%attr(644,root,root) %{_datadir}/syslog-ng/include/scl/python/python-modules.conf
%attr(644,root,root) %{_datadir}/syslog-ng/include/scl/splunk/splunk.conf
%attr(644,root,root) %{_datadir}/syslog-ng/include/scl/logscale/logscale.conf
+%attr(644,root,root) %{_datadir}/syslog-ng/include/scl/opensearch/opensearch.conf
%attr(644,root,root) %{_datadir}/syslog-ng/smart-multi-line.fsm
%attr(644,root,root) %{_datadir}/syslog-ng/xsd/*
%attr(644,root,root) %{_datadir}/syslog-ng/include/scl.conf
++++++ syslog-ng-4.3.0.tar.gz -> syslog-ng-4.3.1.tar.gz ++++++
++++ 3722 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package amanda for openSUSE:Factory checked in at 2023-07-31 15:24:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/amanda (Old)
and /work/SRC/openSUSE:Factory/.amanda.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "amanda"
Mon Jul 31 15:24:39 2023 rev:9 rq:1101484 version:3.5.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/amanda/amanda.changes 2023-07-03 17:44:24.569292272 +0200
+++ /work/SRC/openSUSE:Factory/.amanda.new.32662/amanda.changes 2023-07-31 15:24:44.575453607 +0200
@@ -1,0 +2,8 @@
+Fri Jul 28 08:53:07 UTC 2023 - pgajdos(a)suse.com
+
+- version update to 3.5.4
+ * Fixed: arg checking for runtar.c (CVE-2023-30577) [bsc#1213701]
+- modified patches
+ % amanda-2.6.1p1-avoid-perl-provides.patch (refreshed)
+
+-------------------------------------------------------------------
Old:
----
amanda-3.5.3.tar.gz
New:
----
amanda-3.5.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ amanda.spec ++++++
--- /var/tmp/diff_new_pack.RKoBhK/_old 2023-07-31 15:24:46.327463721 +0200
+++ /var/tmp/diff_new_pack.RKoBhK/_new 2023-07-31 15:24:46.367463953 +0200
@@ -19,7 +19,7 @@
%define amanda_group amanda
%define upstreamver tag-community-%{version}
Name: amanda
-Version: 3.5.3
+Version: 3.5.4
Release: 0
Summary: Network Disk Archiver
License: GPL-3.0-or-later
++++++ amanda-2.6.1p1-avoid-perl-provides.patch ++++++
--- /var/tmp/diff_new_pack.RKoBhK/_old 2023-07-31 15:24:46.647465569 +0200
+++ /var/tmp/diff_new_pack.RKoBhK/_new 2023-07-31 15:24:46.687465800 +0200
@@ -1,8 +1,8 @@
-Index: amanda-2.6.1p1/perl/Amanda/BigIntCompat.pm
+Index: amanda-tag-community-3.5.4/perl/Amanda/BigIntCompat.pm
===================================================================
---- amanda-2.6.1p1.orig/perl/Amanda/BigIntCompat.pm 2008-12-16 01:03:38.000000000 +0100
-+++ amanda-2.6.1p1/perl/Amanda/BigIntCompat.pm 2011-04-30 17:21:41.515787668 +0200
-@@ -60,7 +60,8 @@ our $stringify = overload::Method($test_
+--- amanda-tag-community-3.5.4.orig/perl/Amanda/BigIntCompat.pm
++++ amanda-tag-community-3.5.4/perl/Amanda/BigIntCompat.pm
+@@ -61,7 +61,8 @@ $stringify = $stringify;
if ($test_num =~ /^\+/) {
eval <<'EVAL';
@@ -12,7 +12,7 @@
use overload 'eq' => sub {
my ($self, $other) = @_;
return "$self" eq "$other";
-@@ -82,7 +83,8 @@ EVAL
+@@ -83,7 +84,8 @@ EVAL
# by bigint2uint64().
if (!$test_num->can("sign")) {
eval <<'EVAL';
@@ -22,7 +22,7 @@
sub sign { ($_[0] =~ /^-/)? "-" : "+"; }
EVAL
die $@ if $@;
-@@ -91,7 +93,8 @@ EVAL
+@@ -92,7 +94,8 @@ EVAL
# similarly for bstr
if (!$test_num->can("bstr")) {
eval <<'EVAL';
++++++ amanda-3.5.3.tar.gz -> amanda-3.5.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amanda-tag-community-3.5.3/ChangeLog new/amanda-tag-community-3.5.4/ChangeLog
--- old/amanda-tag-community-3.5.3/ChangeLog 2023-03-16 06:33:16.000000000 +0100
+++ new/amanda-tag-community-3.5.4/ChangeLog 2023-07-26 12:27:30.000000000 +0200
@@ -1,3 +1,6 @@
+2023-07-26 amandaTrusted <amandaTrusted(a)Zmanda.com>
+ * Fixed: arg checking for runtar.c (CVE-2023-30577)
+
2023-02-25 amandaTrusted <amandaTrusted(a)Zmanda.com>
* Fixed: removed vulnerable jQuery dependency
* Fixed: fix suppressed 1st char of error message in common-src/bsdtcp-security.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amanda-tag-community-3.5.3/VERSION new/amanda-tag-community-3.5.4/VERSION
--- old/amanda-tag-community-3.5.3/VERSION 2023-03-16 06:33:16.000000000 +0100
+++ new/amanda-tag-community-3.5.4/VERSION 2023-07-26 12:27:30.000000000 +0200
@@ -1 +1 @@
-3.5.2
+3.5.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amanda-tag-community-3.5.3/client-src/runtar.c new/amanda-tag-community-3.5.4/client-src/runtar.c
--- old/amanda-tag-community-3.5.3/client-src/runtar.c 2023-03-16 06:33:16.000000000 +0100
+++ new/amanda-tag-community-3.5.4/client-src/runtar.c 2023-07-26 12:27:30.000000000 +0200
@@ -39,6 +39,11 @@
#include "amutil.h"
#include "conffile.h"
#include "client_util.h"
+#include <stdbool.h>
+
+static const char *whitelisted_args[] = {"--blocking-factor", "--file", "--directory", "--exclude", "--transform", "--listed-incremental", "--newer", "--exclude-from", "--files-from", NULL};
+
+bool check_whitelist(char* option);
int main(int argc, char **argv);
@@ -49,6 +54,7 @@
{
#ifdef GNUTAR
int i;
+ char **j;
char *e;
char *dbf;
char *cmdline;
@@ -182,20 +188,23 @@
g_str_has_prefix(argv[i],"--verbose")) {
/* Accept theses options */
good_option++;
- } else if (g_str_has_prefix(argv[i],"--blocking-factor") ||
- g_str_has_prefix(argv[i],"--file") ||
- g_str_has_prefix(argv[i],"--directory") ||
- g_str_has_prefix(argv[i],"--exclude") ||
- g_str_has_prefix(argv[i],"--transform") ||
- g_str_has_prefix(argv[i],"--listed-incremental") ||
- g_str_has_prefix(argv[i],"--newer") ||
- g_str_has_prefix(argv[i],"--exclude-from") ||
- g_str_has_prefix(argv[i],"--files-from")) {
+ } else if (check_whitelist(argv[i])) {
if (strchr(argv[i], '=')) {
good_option++;
} else {
/* Accept theses options with the following argument */
good_option += 2;
+
+ /* Whitelisting only the allowed arguments*/
+ for(j=whitelisted_args; *j; j++) {
+ if (strcmp(argv[i], *j) == 0) {
+ break;
+ }
+ }
+
+ if (!*j) {
+ good_option = 0; // not allowing arguments absent in the whitelist
+ }
}
} else if (argv[i][0] != '-') {
good_option++;
@@ -227,6 +236,7 @@
env = safe_env();
execve(my_realpath, new_argv, env);
free_env(env);
+ free_env(new_argv);
e = strerror(errno);
dbreopen(dbf, "more");
@@ -239,3 +249,23 @@
return 1;
#endif
}
+
+bool
+check_whitelist(
+ gchar* option)
+{
+ bool result = TRUE;
+ char** i;
+
+ for(i=whitelisted_args; *i; i++) {
+ if (g_str_has_prefix(option, *i)) {
+ break;
+ }
+ }
+
+ if (!*i) {
+ result = FALSE; // not allowing arguments absent in the whitelist
+ }
+
+ return result;
+}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package starship for openSUSE:Factory checked in at 2023-07-31 15:24:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/starship (Old)
and /work/SRC/openSUSE:Factory/.starship.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "starship"
Mon Jul 31 15:24:35 2023 rev:15 rq:1101430 version:1.16.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/starship/starship.changes 2023-06-16 16:54:35.765617944 +0200
+++ /work/SRC/openSUSE:Factory/.starship.new.32662/starship.changes 2023-07-31 15:24:40.531430260 +0200
@@ -1,0 +2,15 @@
+Mon Jul 31 04:14:13 UTC 2023 - Dead Mozay <dead_mozay(a)opensuse.org>
+
+- Update to version 1.16.0:
+ * Features:
+ - pwsh: Support vi command mode indicator.
+ - shlvl: add repeat_offset for repeated symbol.
+ - update the nushell init file and make it valid module
+ and overlay.
+ * Bug Fixes:
+ - bash: Clear out completed jobs before counting NUM_JOBS.
+ - rprompt: remove lprompt modules from $all again.
+ * Performance Improvements:
+ - git_status: query git stash count via gitoxide.
+
+-------------------------------------------------------------------
Old:
----
starship-1.15.0.obscpio
New:
----
starship-1.16.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ starship.spec ++++++
--- /var/tmp/diff_new_pack.n8z27B/_old 2023-07-31 15:24:43.387446748 +0200
+++ /var/tmp/diff_new_pack.n8z27B/_new 2023-07-31 15:24:43.387446748 +0200
@@ -17,7 +17,7 @@
Name: starship
-Version: 1.15.0
+Version: 1.16.0
Release: 0
Summary: A customizable prompt for many shells
License: ISC
++++++ _service ++++++
--- /var/tmp/diff_new_pack.n8z27B/_old 2023-07-31 15:24:43.415446910 +0200
+++ /var/tmp/diff_new_pack.n8z27B/_new 2023-07-31 15:24:43.419446933 +0200
@@ -6,7 +6,7 @@
<param name="scm">git</param>
<param name="version">git-master</param>
<param name="versionformat">@PARENT_TAG@</param>
- <param name="revision">v1.15.0</param>
+ <param name="revision">v1.16.0</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="changesauthor">dead_mozay(a)opensuse.org</param>
</service>
++++++ starship-1.15.0.obscpio -> starship-1.16.0.obscpio ++++++
/work/SRC/openSUSE:Factory/starship/starship-1.15.0.obscpio /work/SRC/openSUSE:Factory/.starship.new.32662/starship-1.16.0.obscpio differ: char 49, line 1
++++++ starship.obsinfo ++++++
--- /var/tmp/diff_new_pack.n8z27B/_old 2023-07-31 15:24:43.479447279 +0200
+++ /var/tmp/diff_new_pack.n8z27B/_new 2023-07-31 15:24:43.483447302 +0200
@@ -1,5 +1,5 @@
name: starship
-version: 1.15.0
-mtime: 1686062026
-commit: 3591db41c1f899b5ff657312d8f848531fcbe751
+version: 1.16.0
+mtime: 1690723805
+commit: dcf7b7646c4610947765d76cf4e024a60576b2cd
++++++ vendor.tar.zst ++++++
Binary files /var/tmp/diff_new_pack.n8z27B/_old and /var/tmp/diff_new_pack.n8z27B/_new differ
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-nbformat for openSUSE:Factory checked in at 2023-07-31 15:24:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nbformat (Old)
and /work/SRC/openSUSE:Factory/.python-nbformat.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nbformat"
Mon Jul 31 15:24:34 2023 rev:20 rq:1101423 version:5.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nbformat/python-nbformat.changes 2023-07-12 17:26:59.730369925 +0200
+++ /work/SRC/openSUSE:Factory/.python-nbformat.new.32662/python-nbformat.changes 2023-07-31 15:24:39.311423217 +0200
@@ -1,0 +2,8 @@
+Wed Jul 19 20:43:29 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 5.9.1
+ * Fix deprecation warning when importing from jsonschema #368
+ (@eladkal)
+ * Unpin jsonschema
+
+-------------------------------------------------------------------
Old:
----
nbformat-5.9.0.tar.gz
New:
----
nbformat-5.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nbformat.spec ++++++
--- /var/tmp/diff_new_pack.Hht5uJ/_old 2023-07-31 15:24:39.943426865 +0200
+++ /var/tmp/diff_new_pack.Hht5uJ/_new 2023-07-31 15:24:39.947426888 +0200
@@ -18,7 +18,7 @@
%bcond_without libalternatives
Name: python-nbformat
-Version: 5.9.0
+Version: 5.9.1
Release: 0
Summary: The Jupyter Notebook format
License: BSD-3-Clause
@@ -33,9 +33,9 @@
BuildRequires: nodejs
BuildRequires: python-rpm-macros >= 20210929
Requires: python-fastjsonschema
+Requires: python-jsonschema > 2.6
Requires: python-jupyter_core
Requires: python-traitlets >= 5.1
-Requires: (python-jsonschema > 2.6 with python-jsonschema < 4.18)
Provides: python-jupyter_nbformat = %{version}-%{release}
Obsoletes: python-jupyter_nbformat < %{version}
BuildArch: noarch
@@ -48,7 +48,7 @@
%endif
# SECTION test requirements
BuildRequires: %{python_module fastjsonschema}
-BuildRequires: %{python_module jsonschema > 2.6 with %python-jsonschema < 4.18}
+BuildRequires: %{python_module jsonschema > 2.6}
BuildRequires: %{python_module jupyter_core}
BuildRequires: %{python_module pep440}
BuildRequires: %{python_module pytest}
++++++ nbformat-5.9.0.tar.gz -> nbformat-5.9.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbformat-5.9.0/.pre-commit-config.yaml new/nbformat-5.9.1/.pre-commit-config.yaml
--- old/nbformat-5.9.0/.pre-commit-config.yaml 2020-02-02 01:00:00.000000000 +0100
+++ new/nbformat-5.9.1/.pre-commit-config.yaml 2020-02-02 01:00:00.000000000 +0100
@@ -20,7 +20,7 @@
- id: trailing-whitespace
- repo: https://github.com/python-jsonschema/check-jsonschema
- rev: 0.22.0
+ rev: 0.23.2
hooks:
- id: check-github-workflows
@@ -34,8 +34,8 @@
hooks:
- id: black
- - repo: https://github.com/charliermarsh/ruff-pre-commit
- rev: v0.0.263
+ - repo: https://github.com/astral-sh/ruff-pre-commit
+ rev: v0.0.276
hooks:
- id: ruff
args: ["--fix"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbformat-5.9.0/CHANGELOG.md new/nbformat-5.9.1/CHANGELOG.md
--- old/nbformat-5.9.0/CHANGELOG.md 2020-02-02 01:00:00.000000000 +0100
+++ new/nbformat-5.9.1/CHANGELOG.md 2020-02-02 01:00:00.000000000 +0100
@@ -4,6 +4,22 @@
<!-- <START NEW CHANGELOG ENTRY> -->
+## 5.9.1
+
+([Full Changelog](https://github.com/jupyter/nbformat/compare/v5.9.0...c348f9d12f0…)
+
+### Maintenance and upkeep improvements
+
+- Fix deprecation warning when importing from jsonschema [#368](https://github.com/jupyter/nbformat/pull/368) ([@eladkal](https://github.com/eladkal))
+
+### Contributors to this release
+
+([GitHub contributors page for this release](https://github.com/jupyter/nbformat/graphs/contributors?from=2023-…)
+
+[@eladkal](https://github.com/search?q=repo%3Ajupyter%2Fnbformat+involves%3Aeladkal+updated%3A2023-05-31..2023-07-10&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnbformat+involves%3Apre-commit-ci+updated%3A2023-05-31..2023-07-10&type=Issues)
+
+<!-- <END NEW CHANGELOG ENTRY> -->
+
## 5.9.0
([Full Changelog](https://github.com/jupyter/nbformat/compare/v5.8.0...1b5e8e4e9af…)
@@ -20,8 +36,6 @@
[@blink1073](https://github.com/search?q=repo%3Ajupyter%2Fnbformat+involves%3Ablink1073+updated%3A2023-03-20..2023-05-31&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyter%2Fnbformat+involves%3Adependabot+updated%3A2023-03-20..2023-05-31&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter%2Fnbformat+involves%3Apre-commit-ci+updated%3A2023-03-20..2023-05-31&type=Issues)
-<!-- <END NEW CHANGELOG ENTRY> -->
-
## 5.8.0
([Full Changelog](https://github.com/jupyter/nbformat/compare/v5.7.3...85917af9c77…)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbformat-5.9.0/PKG-INFO new/nbformat-5.9.1/PKG-INFO
--- old/nbformat-5.9.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/nbformat-5.9.1/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: nbformat
-Version: 5.9.0
+Version: 5.9.1
Summary: The Jupyter Notebook format
Project-URL: Homepage, https://jupyter.org
Author-email: Jupyter Development Team <jupyter(a)googlegroups.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbformat-5.9.0/nbformat/json_compat.py new/nbformat-5.9.1/nbformat/json_compat.py
--- old/nbformat-5.9.0/nbformat/json_compat.py 2020-02-02 01:00:00.000000000 +0100
+++ new/nbformat-5.9.1/nbformat/json_compat.py 2020-02-02 01:00:00.000000000 +0100
@@ -11,7 +11,7 @@
import jsonschema
from fastjsonschema import JsonSchemaException as _JsonSchemaException
from jsonschema import Draft4Validator as _JsonSchemaValidator
-from jsonschema import ErrorTree, ValidationError
+from jsonschema.exceptions import ErrorTree, ValidationError
class JsonSchemaValidator:
@@ -55,7 +55,7 @@
def validate(self, data):
"""Validate incoming data."""
try:
- self._validator(data)
+ self._validator(data) # type:ignore[operator]
except _JsonSchemaException as error:
raise ValidationError(str(error), schema_path=error.path) from error
@@ -67,7 +67,7 @@
errors = []
validate_func = self._validator
try:
- validate_func(data)
+ validate_func(data) # type:ignore[operator]
except _JsonSchemaException as error:
errors = [ValidationError(str(error), schema_path=error.path)]
@@ -101,7 +101,7 @@
if module and validator_name == name:
return validator_cls
# we always return something.
- msg = f"Missing validator for {repr(validator_name)}"
+ msg = f"Missing validator for {validator_name!r}"
raise ValueError(msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbformat-5.9.0/package.json new/nbformat-5.9.1/package.json
--- old/nbformat-5.9.0/package.json 2020-02-02 01:00:00.000000000 +0100
+++ new/nbformat-5.9.1/package.json 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
{
"name": "nbformat-schema",
- "version": "5.9.0",
+ "version": "5.9.1",
"description": "JSON schemata for Jupyter notebook formats",
"main": "index.js",
"files": [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbformat-5.9.0/pyproject.toml new/nbformat-5.9.1/pyproject.toml
--- old/nbformat-5.9.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
+++ new/nbformat-5.9.1/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
@@ -85,7 +85,7 @@
test = "mypy --install-types --non-interactive {args:nbformat tests}"
[tool.hatch.envs.lint]
-dependencies = ["black[jupyter]==23.3.0", "mdformat>0.7", "ruff==0.0.263"]
+dependencies = ["black[jupyter]==23.3.0", "mdformat>0.7", "ruff==0.0.276"]
detached = true
[tool.hatch.envs.lint.scripts]
style = [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nbformat-5.9.0/tests/v3/test_nbpy.py new/nbformat-5.9.1/tests/v3/test_nbpy.py
--- old/nbformat-5.9.0/tests/v3/test_nbpy.py 2020-02-02 01:00:00.000000000 +0100
+++ new/nbformat-5.9.1/tests/v3/test_nbpy.py 2020-02-02 01:00:00.000000000 +0100
@@ -10,7 +10,7 @@
nb0_ref = nb0_py
ext = "py"
mod = nbpy
- ignored_keys = ["collapsed", "outputs", "prompt_number", "metadata"]
+ ignored_keys = ["collapsed", "outputs", "prompt_number", "metadata"] # noqa
def assertSubset(self, da, db):
"""assert that da is a subset of db, ignoring self.ignored_keys.
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-nbdime for openSUSE:Factory checked in at 2023-07-31 15:24:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nbdime (Old)
and /work/SRC/openSUSE:Factory/.python-nbdime.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nbdime"
Mon Jul 31 15:24:31 2023 rev:14 rq:1101422 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nbdime/python-nbdime.changes 2023-07-18 22:08:38.427162108 +0200
+++ /work/SRC/openSUSE:Factory/.python-nbdime.new.32662/python-nbdime.changes 2023-07-31 15:24:38.475418390 +0200
@@ -1,0 +2,6 @@
+Wed Jul 19 20:53:11 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Unpin jsonschema: nbformat has been fixed, jupyter-events could
+ be unpinned
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nbdime.spec ++++++
--- /var/tmp/diff_new_pack.wQY7tp/_old 2023-07-31 15:24:39.115422085 +0200
+++ /var/tmp/diff_new_pack.wQY7tp/_new 2023-07-31 15:24:39.119422108 +0200
@@ -56,8 +56,7 @@
BuildRequires: python-rpm-macros
# SECTION test requirements
BuildRequires: %{python_module jupyter-server-test}
-# resolver issues: jupyter-events requires jsonschema < 4.18
-BuildRequires: %{python_module jsonschema < 4.18}
+BuildRequires: %{python_module jsonschema}
BuildRequires: %{python_module notebook}
BuildRequires: %{python_module pytest >= 3.6}
BuildRequires: %{python_module pytest-mock}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-jupyterlab-server for openSUSE:Factory checked in at 2023-07-31 15:24:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyterlab-server (Old)
and /work/SRC/openSUSE:Factory/.python-jupyterlab-server.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyterlab-server"
Mon Jul 31 15:24:31 2023 rev:6 rq:1101421 version:2.24.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jupyterlab-server/python-jupyterlab-server.changes 2023-06-14 16:31:15.767177573 +0200
+++ /work/SRC/openSUSE:Factory/.python-jupyterlab-server.new.32662/python-jupyterlab-server.changes 2023-07-31 15:24:34.083393034 +0200
@@ -1,0 +2,21 @@
+Sun Jul 30 15:55:31 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Drop jupyterlab_server-ignore-jsonschema-deprecation.patch
+
+-------------------------------------------------------------------
+Sat Jul 29 22:10:28 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to 2.24.0
+ * add lab config for copy absolute path #405 (@pauky)
+ * Requirements updates
+- Disable openapi subpackage: gh#jupyterlab/jupyterlab_server#400
+- Ignore jsonschema deprecation
+ * Add jupyterlab_server-ignore-jsonschema-deprecation.patch
+
+-------------------------------------------------------------------
+Thu Jul 20 07:07:33 UTC 2023 - Ben Greiner <code(a)bnavigator.de>
+
+- Raise upper pin for openapi-spec-validator
+ * gh#jupyterlab/jupyterlab_server#403
+
+-------------------------------------------------------------------
Old:
----
jupyterlab_server-2.23.0.tar.gz
New:
----
jupyterlab_server-2.24.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyterlab-server.spec ++++++
--- /var/tmp/diff_new_pack.xSKktJ/_old 2023-07-31 15:24:38.255417120 +0200
+++ /var/tmp/diff_new_pack.xSKktJ/_new 2023-07-31 15:24:38.259417143 +0200
@@ -25,8 +25,10 @@
%bcond_with test
%endif
+# https://github.com/jupyterlab/jupyterlab_server/issues/400
+%bcond_with openapi
Name: python-jupyterlab-server%{psuffix}
-Version: 2.23.0
+Version: 2.24.0
Release: 0
Summary: Server components for JupyterLab and JupyterLab-like applications
License: BSD-3-Clause
@@ -85,15 +87,16 @@
Summary: The jupyterlab_server[test] requirements
Requires: python-Werkzeug
Requires: python-ipykernel
-Requires: python-jupyterlab-server-openapi = %{version}
Requires: python-pytest >= 7
Requires: python-pytest-console-scripts
Requires: python-pytest-jupyter-server >= 0.6.2
Requires: python-pytest-timeout
Requires: python-requests-mock
-Requires: (python-openapi-spec-validator >= 0.5.1 with python-openapi-spec-validator < 0.6)
+Requires: (python-openapi-spec-validator >= 0.5.1 with python-openapi-spec-validator < 0.7)
#Requires: python-sphinxcontrib-spelling
Requires: python-strict-rfc3339
+Requires: python-jupyterlab-server = %{version}
+%{?_with_openapi:Requires: python-jupyterlab-server-openapi = %{version}}
%description test
Metapackage for the jupyterlab_server[test] requirement specifier
@@ -124,6 +127,14 @@
%if %{with test}
%check
export PYTHONDONTWRITEBYTECODE=1
+%if !%{with openapi}
+ignoretests=" --ignore tests/test_labapp.py"
+ignoretests+=" --ignore tests/test_listings_api.py"
+ignoretests+=" --ignore tests/test_settings_api.py"
+ignoretests+=" --ignore tests/test_themes_api.py"
+ignoretests+=" --ignore tests/test_translation_api.py"
+ignoretests+=" --ignore tests/test_workspaces_api.py"
+%endif
%{python_expand # https://github.com/jupyterlab/jupyterlab_server/issues/390
$python -m venv build/testenv --system-site-packages
for p in \
@@ -132,7 +143,7 @@
do
build/testenv/bin/pip install --use-pep517 --no-build-isolation --disable-pip-version-check $p
done
-build/testenv/bin/python -m pytest -v
+build/testenv/bin/python -m pytest -v $ignoretests
}
%endif
@@ -146,8 +157,10 @@
%files %{python_files test}
%license LICENSE
+%if %{with openapi}
%files %{python_files openapi}
%license LICENSE
%endif
+%endif
%changelog
++++++ jupyterlab_server-2.23.0.tar.gz -> jupyterlab_server-2.24.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyterlab_server-2.23.0/.pre-commit-config.yaml new/jupyterlab_server-2.24.0/.pre-commit-config.yaml
--- old/jupyterlab_server-2.23.0/.pre-commit-config.yaml 2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.24.0/.pre-commit-config.yaml 2020-02-02 01:00:00.000000000 +0100
@@ -19,7 +19,7 @@
- id: trailing-whitespace
- repo: https://github.com/python-jsonschema/check-jsonschema
- rev: 0.23.1
+ rev: 0.23.2
hooks:
- id: check-github-workflows
@@ -35,8 +35,8 @@
hooks:
- id: black
- - repo: https://github.com/charliermarsh/ruff-pre-commit
- rev: v0.0.270
+ - repo: https://github.com/astral-sh/ruff-pre-commit
+ rev: v0.0.276
hooks:
- id: ruff
args: ["--fix"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyterlab_server-2.23.0/CHANGELOG.md new/jupyterlab_server-2.24.0/CHANGELOG.md
--- old/jupyterlab_server-2.23.0/CHANGELOG.md 2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.24.0/CHANGELOG.md 2020-02-02 01:00:00.000000000 +0100
@@ -2,6 +2,27 @@
<!-- <START NEW CHANGELOG ENTRY> -->
+## 2.24.0
+
+([Full Changelog](https://github.com/jupyterlab/jupyterlab_server/compare/v2.23.0.…)
+
+### Enhancements made
+
+- add lab config for copy absolute path [#405](https://github.com/jupyterlab/jupyterlab_server/pull/405) ([@pauky](https://github.com/pauky))
+
+### Maintenance and upkeep improvements
+
+- Update openapi-spec-validator requirement from ~=0.5.1 to >=0.5.1,\<0.7.0 [#403](https://github.com/jupyterlab/jupyterlab_server/pull/403) ([@dependabot](https://github.com/dependabot))
+- Fix lint error [#401](https://github.com/jupyterlab/jupyterlab_server/pull/401) ([@blink1073](https://github.com/blink1073))
+
+### Contributors to this release
+
+([GitHub contributors page for this release](https://github.com/jupyterlab/jupyterlab_server/graphs/contributor…)
+
+[@blink1073](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Ablink1073+updated%3A2023-06-13..2023-07-24&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Adependabot+updated%3A2023-06-13..2023-07-24&type=Issues) | [@pauky](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Apauky+updated%3A2023-06-13..2023-07-24&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Apre-commit-ci+updated%3A2023-06-13..2023-07-24&type=Issues) | [@welcome](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Awelcome+updated%3A2023-06-13..2023-07-24&type=Issues)
+
+<!-- <END NEW CHANGELOG ENTRY> -->
+
## 2.23.0
([Full Changelog](https://github.com/jupyterlab/jupyterlab_server/compare/v2.22.1.…)
@@ -23,8 +44,6 @@
[@blink1073](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Ablink1073+updated%3A2023-04-13..2023-06-13&type=Issues) | [@brichet](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Abrichet+updated%3A2023-04-13..2023-06-13&type=Issues) | [@dependabot](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Adependabot+updated%3A2023-04-13..2023-06-13&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyterlab%2Fjupyterlab_server+involves%3Apre-commit-ci+updated%3A2023-04-13..2023-06-13&type=Issues)
-<!-- <END NEW CHANGELOG ENTRY> -->
-
## 2.22.1
([Full Changelog](https://github.com/jupyterlab/jupyterlab_server/compare/v2.22.0.…)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyterlab_server-2.23.0/PKG-INFO new/jupyterlab_server-2.24.0/PKG-INFO
--- old/jupyterlab_server-2.23.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.24.0/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: jupyterlab_server
-Version: 2.23.0
+Version: 2.24.0
Summary: A set of server components for JupyterLab and JupyterLab like applications.
Project-URL: Homepage, https://jupyterlab-server.readthedocs.io
Project-URL: Documentation, https://jupyterlab-server.readthedocs.io
@@ -76,7 +76,7 @@
Requires-Dist: hatch; extra == 'test'
Requires-Dist: ipykernel; extra == 'test'
Requires-Dist: jupyterlab-server[openapi]; extra == 'test'
-Requires-Dist: openapi-spec-validator~=0.5.1; extra == 'test'
+Requires-Dist: openapi-spec-validator<0.7.0,>=0.5.1; extra == 'test'
Requires-Dist: pytest-console-scripts; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-jupyter[server]>=0.6.2; extra == 'test'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyterlab_server-2.23.0/jupyterlab_server/_version.py new/jupyterlab_server-2.24.0/jupyterlab_server/_version.py
--- old/jupyterlab_server-2.23.0/jupyterlab_server/_version.py 2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.24.0/jupyterlab_server/_version.py 2020-02-02 01:00:00.000000000 +0100
@@ -7,7 +7,7 @@
"""
import re
-__version__ = "2.23.0"
+__version__ = "2.24.0"
# Build up version_info tuple for backwards compatibility
pattern = r"(?P<major>\d+).(?P<minor>\d+).(?P<patch>\d+)(?P<rest>.*)"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyterlab_server-2.23.0/jupyterlab_server/config.py new/jupyterlab_server-2.24.0/jupyterlab_server/config.py
--- old/jupyterlab_server-2.23.0/jupyterlab_server/config.py 2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.24.0/jupyterlab_server/config.py 2020-02-02 01:00:00.000000000 +0100
@@ -292,6 +292,11 @@
True, help="Whether a notebook should start a kernel automatically."
).tag(config=True)
+ copy_absolute_path = Bool(
+ False,
+ help="Whether getting a relative (False) or absolute (True) path when copying a path.",
+ ).tag(config=True)
+
@default("template_dir")
def _default_template_dir(self):
return DEFAULT_TEMPLATE_PATH
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyterlab_server-2.23.0/pyproject.toml new/jupyterlab_server-2.24.0/pyproject.toml
--- old/jupyterlab_server-2.23.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.24.0/pyproject.toml 2020-02-02 01:00:00.000000000 +0100
@@ -73,7 +73,7 @@
"ipykernel",
"pytest-jupyter[server]>=0.6.2",
"jupyterlab_server[openapi]",
- "openapi-spec-validator~=0.5.1",
+ "openapi-spec-validator>=0.5.1,<0.7.0",
"sphinxcontrib_spelling",
"requests_mock",
"pytest>=7.0",
@@ -117,7 +117,7 @@
"black[jupyter]==23.3.0",
"mdformat>0.7",
"mdformat-gfm>=0.3.5",
- "ruff==0.0.270"
+ "ruff==0.0.276"
]
detatched = true
[tool.hatch.envs.lint.scripts]
@@ -238,6 +238,8 @@
"PLR0912",
# PLR0913 Too many arguments to function call
"PLR0913",
+# RUF012 Mutable class attributes should be annotated with `typing.ClassVar`
+"RUF012",
]
[tool.ruff.per-file-ignores]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jupyterlab_server-2.23.0/tests/test_licenses_api.py new/jupyterlab_server-2.24.0/tests/test_licenses_api.py
--- old/jupyterlab_server-2.23.0/tests/test_licenses_api.py 2020-02-02 01:00:00.000000000 +0100
+++ new/jupyterlab_server-2.24.0/tests/test_licenses_api.py 2020-02-02 01:00:00.000000000 +0100
@@ -8,7 +8,7 @@
import json
import mimetypes
-import mistune # type:ignore
+import mistune
import pytest
from jupyterlab_server import LicensesApp
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package vala-panel-appmenu for openSUSE:Factory checked in at 2023-07-31 15:24:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vala-panel-appmenu (Old)
and /work/SRC/openSUSE:Factory/.vala-panel-appmenu.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vala-panel-appmenu"
Mon Jul 31 15:24:29 2023 rev:10 rq:1101419 version:0.7.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/vala-panel-appmenu/vala-panel-appmenu.changes 2022-05-04 15:11:17.460182382 +0200
+++ /work/SRC/openSUSE:Factory/.vala-panel-appmenu.new.32662/vala-panel-appmenu.changes 2023-07-31 15:24:32.651384767 +0200
@@ -1,0 +2,6 @@
+Sun Jul 30 20:46:22 UTC 2023 - Alexei Sorokin <sor.alexei(a)meowr.ru>
+
+- Fix systemd_user_post macro use.
+- Spec clean-up.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vala-panel-appmenu.spec ++++++
--- /var/tmp/diff_new_pack.pTD7x9/_old 2023-07-31 15:24:33.915392065 +0200
+++ /var/tmp/diff_new_pack.pTD7x9/_new 2023-07-31 15:24:33.919392087 +0200
@@ -1,7 +1,7 @@
#
# spec file for package vala-panel-appmenu
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -45,13 +45,13 @@
BuildRequires: pkgconfig(gtk+-2.0) >= 2.24
BuildRequires: pkgconfig(gtk+-3.0) >= 3.22.0
BuildRequires: pkgconfig(harfbuzz)
+BuildRequires: pkgconfig(libmatepanelapplet-4.0)
BuildRequires: pkgconfig(libpeas-1.0) >= 1.2
BuildRequires: pkgconfig(libxfce4panel-2.0)
BuildRequires: pkgconfig(libxfconf-0)
BuildRequires: pkgconfig(systemd)
-BuildRequires: pkgconfig(libmatepanelapplet-4.0)
BuildRequires: pkgconfig(vala-panel) >= 0.3.7
-%if "bamf" == "%backend"
+%if "bamf" == "%{backend}"
BuildRequires: pkgconfig(libbamf3) >= 0.5.0
%else
BuildRequires: pkgconfig(libwnck-3.0) >= 3.4.8
@@ -153,20 +153,20 @@
# FIXME: consider using %%lang_package macro
Summary: Languages for package vala-panel-appmenu
Group: System/Localization
+Suggests: mate-applet-appmenu = %{version}
+Suggests: vala-panel-plugin-appmenu = %{version}
Suggests: xfce4-panel-plugin-appmenu = %{version}
-Supplements: (bundle-lang-other and xfce4-panel-plugin-appmenu)
Supplements: (bundle-lang-other and mate-applet-appmenu)
Supplements: (bundle-lang-other and vala-panel-plugin-appmenu)
+Supplements: (bundle-lang-other and xfce4-panel-plugin-appmenu)
Provides: %{name}-lang-all = %{version}
-Provides: xfce4-panel-plugin-appmenu-lang = %{version}
-Provides: xfce4-panel-plugin-appmenu-lang-all = %{version}
Provides: mate-applet-appmenu-lang = %{version}
Provides: mate-applet-appmenu-lang-all = %{version}
Provides: vala-panel-plugin-appmenu-lang = %{version}
Provides: vala-panel-plugin-appmenu-lang-all = %{version}
+Provides: xfce4-panel-plugin-appmenu-lang = %{version}
+Provides: xfce4-panel-plugin-appmenu-lang-all = %{version}
BuildArch: noarch
-Suggests: mate-applet-appmenu = %{version}
-Suggests: vala-panel-plugin-appmenu = %{version}
%description lang
Provides translations to the packages xfce4-panel-plugin-appmenu,
@@ -220,7 +220,7 @@
%build
export CFLAGS="$CFLAGS -I/usr/include/harfbuzz"
export CXXFLAGS="$CXXFLAGS -I/usr/include/harfbuzz"
-%meson -Dwm_backend=%backend -Dregistrar=enabled
+%meson -Dwm_backend=%{backend} -Dregistrar=enabled
%meson_build
%install
@@ -230,79 +230,71 @@
%find_lang %{name}
%post -n libappmenu-gtk2-parser0 -p /sbin/ldconfig
+
%postun -n libappmenu-gtk2-parser0 -p /sbin/ldconfig
%post -n libappmenu-gtk3-parser0 -p /sbin/ldconfig
-%postun -n libappmenu-gtk3-parser0 -p /sbin/ldconfig
-%postun -n appmenu-gtk-module-common
-%glib2_gsettings_schema_postun
-%systemd_user_post
+%postun -n libappmenu-gtk3-parser0 -p /sbin/ldconfig
%post -n appmenu-gtk-module-common
%glib2_gsettings_schema_post
-%systemd_user_postun
+%systemd_user_postun appmenu-gtk-module.service
-%postun -n appmenu-gtk2-module
-%gtk2_immodule_postun
+%postun -n appmenu-gtk-module-common
+%glib2_gsettings_schema_postun
+%systemd_user_post appmenu-gtk-module.service
%post -n appmenu-gtk2-module
%gtk2_immodule_post
-%postun -n appmenu-gtk3-module
-%gtk3_immodule_postun
+%postun -n appmenu-gtk2-module
+%gtk2_immodule_postun
%post -n appmenu-gtk3-module
%gtk3_immodule_post
-%postun -n vala-panel-plugin-appmenu
-%glib2_gsettings_schema_postun
+%postun -n appmenu-gtk3-module
+%gtk3_immodule_postun
%post -n vala-panel-plugin-appmenu
%glib2_gsettings_schema_post
+%postun -n vala-panel-plugin-appmenu
+%glib2_gsettings_schema_postun
+
%files -n appmenu-gtk3-module
-%defattr(-,root,root)
%{_libdir}/gtk-3.0/modules/libappmenu-gtk-module.so
%files -n appmenu-gtk2-module
-%defattr(-,root,root)
%{_libdir}/gtk-2.0/modules/libappmenu-gtk-module.so
%files lang -f %{name}.lang
-%defattr(-,root,root)
%files -n libappmenu-gtk-parser-devel
-%defattr(-,root,root)
%{_includedir}/appmenu-gtk-parser
%files -n libappmenu-gtk2-parser0
-%defattr(-,root,root)
%{_libdir}/libappmenu-gtk2-parser.so.0
%{_libdir}/libappmenu-gtk2-parser.so.0.7
%files -n libappmenu-gtk2-parser-devel
-%defattr(-,root,root)
%{_libdir}/libappmenu-gtk2-parser.so
%{_libdir}/pkgconfig/appmenu-gtk2-parser.pc
%files -n libappmenu-gtk3-parser0
-%defattr(-,root,root)
%{_libdir}/libappmenu-gtk3-parser.so.0
%{_libdir}/libappmenu-gtk3-parser.so.0.7
%files -n libappmenu-gtk3-parser-devel
-%defattr(-,root,root)
%{_libdir}/libappmenu-gtk3-parser.so
%{_libdir}/pkgconfig/appmenu-gtk3-parser.pc
%files -n appmenu-gtk-module-common
-%defattr(-,root,root)
%{_datadir}/glib-2.0/schemas/org.appmenu.gtk-module.gschema.xml
%{_userunitdir}/appmenu-gtk-module.service
%files -n appmenu-registrar
-%defattr(-,root,root)
%dir %{_libexecdir}/vala-panel
%{_libexecdir}/vala-panel/appmenu-registrar
%{_datadir}/dbus-1/services/com.canonical.AppMenu.Registrar.service
@@ -313,14 +305,12 @@
%{_libdir}/budgie-desktop/plugins/budgie-appmenu-plugin
%files -n xfce4-panel-plugin-appmenu
-%defattr(-,root,root)
%doc README.md
%license LICENSE
%{_libdir}/xfce4/panel/plugins/libappmenu-xfce.so
%{_datadir}/xfce4/panel/plugins/appmenu.desktop
%files -n mate-applet-appmenu
-%defattr(-,root,root)
%doc README.md
%license LICENSE
%dir %{_libdir}/mate-panel/
@@ -330,7 +320,6 @@
%{_datadir}/mate-panel/applets/org.vala-panel.appmenu.mate-panel-applet
%files -n vala-panel-plugin-appmenu
-%defattr(-,root,root)
%doc README.md
%license LICENSE
%dir %{_libdir}/vala-panel
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pythia for openSUSE:Factory checked in at 2023-07-31 15:24:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pythia (Old)
and /work/SRC/openSUSE:Factory/.pythia.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pythia"
Mon Jul 31 15:24:27 2023 rev:29 rq:1101401 version:8.310
Changes:
--------
--- /work/SRC/openSUSE:Factory/pythia/pythia.changes 2022-03-04 00:17:25.536282496 +0100
+++ /work/SRC/openSUSE:Factory/.pythia.new.32662/pythia.changes 2023-07-31 15:24:28.219359180 +0200
@@ -1,0 +2,61 @@
+Wed Jul 26 22:12:11 UTC 2023 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Update to version 8.310:
+ * Production of quarkonia is now available via the simple
+ timelike shower, see Onia Showers for details.
+ * Added a new feature that allows producing user-defined
+ resonances in hadronic rescattering. Newly added particles can
+ be produced as resonances if they set varWidth = on.
+ * A number of changes have been made to the heavy ion machinery.
+ * Included possibility to sample intermediate photon virtuality
+ also for externally provided events using built-in photon flux
+ for protons.
+ * Included possibility to generate DIS events with a
+ (anti-)neutrino beam.
+ * The TopRecoilHook, formerly available separately, has now been
+ integrated into the SimpleTimeShower.
+ * Introduced a new use plugin system, see Plugins for details.
+ * The arguments to the setSigmaPtr method are now shared
+ pointers. Additionally, addSigmaPtr has been introduced with
+ the previous behaviour of setSigmaPtr, and the new setSigmaPtr
+ overrides all previously added pointers.
+ * A similar change has been made for the setResonancePtr method
+ with the addition of the addResonancePtr method.
+ * The new Logger class now handles printing such as
+ initialization information and diagnostic messages. For more
+ information about this class, see the Logging page.
+ * The new BeamSetup class has been introduced to handle the beam
+ configuration, including initializing and changing beam
+ identities, kinematics and parton distributions.
+ * Modified interface to LHAPDF6 to allow for multi-threading.
+ * Updated the Python interface to use pybind11 version 2.10.4
+ which is compatible with Python 3.11.
+ * Fix for the Python interface working with gcc13.
+ * Fixed a bug in the Python interface which prevented main162.py
+ from running correctly when passing a custom function for
+ initialization.
+ * Updated the Lambda_b0 lifetime to c*tau = 0.44 mm. The value
+ was rounded to two significant digits since PDG and HFLAV do
+ not quite agree to three digits.
+ * Included several small fixes in response to running an LLVM
+ static code analysis.
+ * Fixed out-of-range access when calling Hist::getYMin and
+ Hist::getYMax for a histogram that has not been booked.
+ * Fixed BeamRemnants:unresolvedHadron option that was broken and
+ had no effect since 8.307.
+ * Removed use of simple-template-ids in SusyLesHouches.h to make
+ compliant with C++20.
+ * Fixed dipole sorting behaviour in ColourReconnection which
+ resulted in an ordering that depended on the current memory
+ state of the program.
+ * Changed the default for Parallelism:balanceLoad to on and
+ updated the documentation. This ensures each thread will
+ always generate the same number of events.
+ * Added the += notation for settings vectors, as well as the
+ include = fileName directive, which allows for additional
+ settings files to be directly read in.
+ * Fixed a bug in the bookkeeping the number of hadrons in the
+ string fragmentation.
+- Major rebase of pythia-remove-rpaths.patch for updated version.
+
+-------------------------------------------------------------------
Old:
----
pythia8307.tgz
New:
----
pythia8310.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pythia.spec ++++++
--- /var/tmp/diff_new_pack.ynk8Rm/_old 2023-07-31 15:24:32.383383220 +0200
+++ /var/tmp/diff_new_pack.ynk8Rm/_new 2023-07-31 15:24:32.387383243 +0200
@@ -1,7 +1,7 @@
#
# spec file for package pythia
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,10 @@
#
-%define ver 8307
+%define ver 8310
%define soname lib%{name}8
Name: pythia
-Version: 8.307
+Version: 8.310
Release: 0
Summary: A simulation program for particle collisions at very high energies
License: GPL-2.0-or-later
@@ -204,12 +204,13 @@
%files devel
%doc AUTHORS GUIDELINES CODINGSTYLE README
%license COPYING
+%config %{_sysconfdir}/profile.d/%{name}.*
%{_bindir}/pythia8-config
%{_includedir}/Pythia8/
%{_includedir}/Pythia8Plugins/
-%config %{_sysconfdir}/profile.d/%{name}.*
-%{_docdir}/%{name}/xmldoc/
%{_docdir}/%{name}/pdfdata/
+%{_docdir}/%{name}/settings/
+%{_docdir}/%{name}/xmldoc/
%files doc
%dir %{_docdir}/%{name}
++++++ pythia-examples-link-gmp.patch ++++++
--- /var/tmp/diff_new_pack.ynk8Rm/_old 2023-07-31 15:24:32.415383405 +0200
+++ /var/tmp/diff_new_pack.ynk8Rm/_new 2023-07-31 15:24:32.419383428 +0200
@@ -1,8 +1,8 @@
-Index: pythia8307/examples/Makefile
+Index: pythia8310/examples/Makefile
===================================================================
---- pythia8307.orig/examples/Makefile
-+++ pythia8307/examples/Makefile
-@@ -99,7 +99,7 @@ endif
+--- pythia8310.orig/examples/Makefile
++++ pythia8310/examples/Makefile
+@@ -107,7 +107,7 @@ endif
# FASTJET3.
main71 main72 main75 main81 main82 main83: $(PYTHIA) $$@.cc
ifeq ($(FASTJET3_USE),true)
@@ -11,7 +11,7 @@
else
$(error Error: $@ requires FASTJET3)
endif
-@@ -108,7 +108,7 @@ endif
+@@ -116,7 +116,7 @@ endif
main74: $(PYTHIA) $$@.cc
ifeq ($(FASTJET3_USE),true)
$(CXX) $@.cc -o $@ -w $(CXX_COMMON) $(FASTJET3_INCLUDE)\
@@ -20,7 +20,7 @@
else
$(error Error: $@ requires FASTJET3)
endif
-@@ -117,7 +117,7 @@ endif
+@@ -125,7 +125,7 @@ endif
main84: $(PYTHIA) $$@.cc
ifeq ($(FASTJET3_USE)$(HEPMC3_USE),truetrue)
$(CXX) $@.cc -o $@ -w $(CXX_COMMON) $(FASTJET3_INCLUDE)\
++++++ pythia-makefile-destdir-support.patch ++++++
--- /var/tmp/diff_new_pack.ynk8Rm/_old 2023-07-31 15:24:32.439383543 +0200
+++ /var/tmp/diff_new_pack.ynk8Rm/_new 2023-07-31 15:24:32.443383566 +0200
@@ -1,8 +1,8 @@
-Index: pythia8306/Makefile
+Index: pythia8310/Makefile
===================================================================
---- pythia8306.orig/Makefile
-+++ pythia8306/Makefile
-@@ -132,12 +132,12 @@ python: $(LOCAL_LIB)/libpythia8$(LIB_SUF
+--- pythia8310.orig/Makefile
++++ pythia8310/Makefile
+@@ -140,12 +140,12 @@ python: $(LOCAL_LIB)/libpythia8$(LIB_SUF
# Install.
install: all
++++++ pythia-remove-rpaths.patch ++++++
--- /var/tmp/diff_new_pack.ynk8Rm/_old 2023-07-31 15:24:32.459383658 +0200
+++ /var/tmp/diff_new_pack.ynk8Rm/_new 2023-07-31 15:24:32.459383658 +0200
@@ -1,7 +1,7 @@
-Index: pythia8307/Makefile
+Index: pythia8310/Makefile
===================================================================
---- pythia8307.orig/Makefile
-+++ pythia8307/Makefile
+--- pythia8310.orig/Makefile
++++ pythia8310/Makefile
@@ -36,7 +36,11 @@ LOCAL_TMP=tmp
LOCAL_MKDIRS:=$(shell mkdir -p $(LOCAL_TMP) $(LOCAL_LIB))
CXX_COMMON:=-I$(LOCAL_INCLUDE) $(CXX_COMMON)
@@ -15,26 +15,22 @@
# PYTHIA.
OBJECTS=$(patsubst $(LOCAL_SRC)/%.cc,$(LOCAL_TMP)/%.o,\
-@@ -118,9 +122,15 @@ $(LOCAL_TMP)/LHAPowheg.o: $(LOCAL_INCLUD
- $(LOCAL_LIB)/libpythia8powheg%sh.so: $(POWHEG_BIN)%sh;
- $(LOCAL_LIB)/libpythia8powheg%.so: $(POWHEG_BIN)% $(LOCAL_TMP)/LHAPowheg.o\
- $(LOCAL_LIB)/libpythia8$(LIB_SUFFIX)
+@@ -124,7 +128,11 @@ $(LOCAL_LIB)/libpythia8powheg%.so: $(POW
+ $(LOCAL_TMP)/LHAPowheg.o $(LOCAL_LIB)/libpythia8$(LIB_SUFFIX)
+ $(CXX) $(LOCAL_TMP)/LHAPowheg.o -o $@ $(CXX_COMMON) $(CXX_SHARED)\
+ $(CXX_SONAME)$(notdir $@) -Llib -lpythia8\
+ifneq ($(DISABLE_RPATH),true)
- ln -s $< $(notdir $<); $(CXX) $(notdir $<) $(LOCAL_TMP)/LHAPowheg.o\
- -o $@ $(CXX_COMMON) $(CXX_SHARED) -Llib -lpythia8\
- $(CXX_SONAME)$(notdir $@) -Wl,-rpath,$(POWHEG_BIN); rm $(notdir $<)
+ -Wl,-rpath,../lib:$(POWHEG_BIN) -L$(POWHEG_BIN) -l$*
+else
-+ ln -s $< $(notdir $<); $(CXX) $(notdir $<) $(LOCAL_TMP)/LHAPowheg.o\
-+ -o $@ $(CXX_COMMON) $(CXX_SHARED) -Llib -lpythia8\
-+ $(CXX_SONAME)$(notdir $@); rm $(notdir $<)
++ -L$(POWHEG_BIN) -l$*
+endif
-
- # MG5 matrix element plugins.
- mg5mes:
-Index: pythia8307/configure
+ $(LOCAL_LIB)/libpythia8powhegHooks.so: $(LOCAL_TMP)/PowhegHooks.o\
+ $(LOCAL_LIB)/libpythia8$(LIB_SUFFIX)
+ $(CXX) $< -o $@ $(CXX_COMMON) $(CXX_SHARED) $(CXX_SONAME)$(notdir $@)\
+Index: pythia8310/configure
===================================================================
---- pythia8307.orig/configure
-+++ pythia8307/configure
+--- pythia8310.orig/configure
++++ pythia8310/configure
@@ -30,6 +30,7 @@ Configuration options.
--help : Print this help message (also -h, --h, and -help).
--enable-debug : Turn on debugging and disable optimization.
@@ -68,10 +64,10 @@
CXX=$CXX
CXX_COMMON=$CXX_COMMON
CXX_SHARED=$CXX_SHARED
-Index: pythia8307/plugins/mg5mes/Makefile
+Index: pythia8310/plugins/mg5mes/Makefile
===================================================================
---- pythia8307.orig/plugins/mg5mes/Makefile
-+++ pythia8307/plugins/mg5mes/Makefile
+--- pythia8310.orig/plugins/mg5mes/Makefile
++++ pythia8310/plugins/mg5mes/Makefile
@@ -28,7 +28,11 @@ LOCAL_DIRS:=$(subst $(LOCAL_TMP)/,,$(wil
LOCAL_MKDIRS:=$(shell mkdir -p $(LOCAL_TMP) $(TOP_LIB))
LOCAL_MKDIRS:=$(foreach DIR,$(LOCAL_DIRS),$(shell mkdir -p $(LOCAL_TMP)/$(DIR)))
@@ -85,10 +81,10 @@
PYTHIA=$(TOP_LIB)/libpythia8$(LIB_SUFFIX)
# Set the wrapper, determine the objects and targets.
-Index: pythia8307/plugins/python/Makefile
+Index: pythia8310/plugins/python/Makefile
===================================================================
---- pythia8307.orig/plugins/python/Makefile
-+++ pythia8307/plugins/python/Makefile
+--- pythia8310.orig/plugins/python/Makefile
++++ pythia8310/plugins/python/Makefile
@@ -27,7 +27,11 @@ LOCAL_TMP=tmp
LOCAL_INCLUDE=include
LOCAL_MKDIRS:=$(shell mkdir -p $(LOCAL_TMP) $(TOP_LIB))
@@ -102,7 +98,7 @@
PYTHIA=$(TOP_LIB)/libpythia8$(LIB_SUFFIX)
# Determine the headers.
-@@ -69,9 +73,15 @@ $(LOCAL_TMP)/%.o: $(LOCAL_SRC)/%.cpp
+@@ -76,9 +80,15 @@ $(LOCAL_TMP)/%.o: $(LOCAL_SRC)/%.cpp $(L
# Build the library.
$(TOP_LIB)/pythia8.so: $(PYTHIA) $(HEADERS) $(OBJECTS)
@@ -118,10 +114,10 @@
# Clean.
clean:
-Index: pythia8307/examples/Makefile
+Index: pythia8310/examples/Makefile
===================================================================
---- pythia8307.orig/examples/Makefile
-+++ pythia8307/examples/Makefile
+--- pythia8310.orig/examples/Makefile
++++ pythia8310/examples/Makefile
@@ -26,14 +26,13 @@ ifneq ("$(wildcard ../lib/libpythia8.*)"
PREFIX_INCLUDE=../include
endif
@@ -138,33 +134,4 @@
endif
################################################################################
-@@ -143,16 +142,14 @@ else
- $(error Error: $@ requires ROOT)
- endif
- main92: $(PYTHIA) $$@.cc main92.so
-- $(CXX) $@.cc main92.so -o $@ -w $(CXX_COMMON) -Wl,-rpath,./\
-- `$(ROOT_CONFIG) --cflags --glibs`
-+ $(CXX) $@.cc main92.so -o $@ -w $(CXX_COMMON)
-
- # RIVET with optional ROOT (if RIVET, use C++14).
- main93: $(PYTHIA) $$@.cc $(if $(filter true,$(ROOT_USE)),main93.so)
- ifeq ($(RIVET_USE),true)
-- $(CXX) $@.cc -o $@ -w $(CXX_COMMON:c++11=c++14) -Wl,-rpath,./\
-- $(if $(filter true,$(ROOT_USE)),main93.so -DPY8ROOT\
-+ $(CXX) $@.cc -o $@ -w $(CXX_COMMON:c++11=c++14) -DPY8ROOT\
- $(ROOT_LIB) `$(ROOT_CONFIG) --cflags --glibs`)\
-- $(RIVET_RPATH) `$(RIVET_BIN)$(RIVET_CONFIG) --cppflags --libs`
-+ `$(RIVET_BIN)$(RIVET_CONFIG) --cppflags --libs`
- else
- $(error Error: $@ requires RIVET)
- endif
-@@ -161,7 +158,7 @@ endif
- main111: $(PYTHIA) $$@.cc
- ifeq ($(RIVET_USE),true)
- $(CXX) $@.cc -o $@ -w $(CXX_COMMON:c++11=c++14) -DRIVET \
-- `$(RIVET_BIN)$(RIVET_CONFIG) --cppflags --libs` $(RIVET_RPATH)
-+ `$(RIVET_BIN)$(RIVET_CONFIG) --cppflags --libs`
- else
- $(CXX) $@.cc -o $@ -w $(CXX_COMMON)
- endif
++++++ pythia8307.tgz -> pythia8310.tgz ++++++
/work/SRC/openSUSE:Factory/pythia/pythia8307.tgz /work/SRC/openSUSE:Factory/.pythia.new.32662/pythia8310.tgz differ: char 5, line 1
++++++ reproducible.patch ++++++
--- /var/tmp/diff_new_pack.ynk8Rm/_old 2023-07-31 15:24:32.495383866 +0200
+++ /var/tmp/diff_new_pack.ynk8Rm/_new 2023-07-31 15:24:32.499383890 +0200
@@ -1,9 +1,9 @@
a variant was sent via mail to phil...(a)cern.ch
-Index: pythia8307/configure
+Index: pythia8310/configure
===================================================================
---- pythia8307.orig/configure
-+++ pythia8307/configure
+--- pythia8310.orig/configure
++++ pythia8310/configure
@@ -286,7 +286,7 @@ done
# Parse the user arguments and evaluate each as a global variable.
@@ -13,4 +13,23 @@
for VAR in "$@"; do
if [[ $OPTIONS =~ (^| )${VAR%%=*}($| ) ]]; then
echo "# $VAR" >> $CFG_FILE;
+Index: pythia8310/Makefile
+===================================================================
+--- pythia8310.orig/Makefile
++++ pythia8310/Makefile
+@@ -128,11 +128,10 @@ $(LOCAL_LIB)/libpythia8powheg%.so: $(POW
+ $(LOCAL_TMP)/LHAPowheg.o $(LOCAL_LIB)/libpythia8$(LIB_SUFFIX)
+ $(CXX) $(LOCAL_TMP)/LHAPowheg.o -o $@ $(CXX_COMMON) $(CXX_SHARED)\
+ $(CXX_SONAME)$(notdir $@) -Llib -lpythia8\
+-ifneq ($(DISABLE_RPATH),true)
+- -Wl,-rpath,../lib:$(POWHEG_BIN) -L$(POWHEG_BIN) -l$*
+-else
++ ifneq($(DISABLE_RPATH),true)
++ -Wl,-rpath,../lib:$(POWHEG_BIN)\
++ endif
+ -L$(POWHEG_BIN) -l$*
+-endif
+ $(LOCAL_LIB)/libpythia8powhegHooks.so: $(LOCAL_TMP)/PowhegHooks.o\
+ $(LOCAL_LIB)/libpythia8$(LIB_SUFFIX)
+ $(CXX) $< -o $@ $(CXX_COMMON) $(CXX_SHARED) $(CXX_SONAME)$(notdir $@)\
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package bmake for openSUSE:Factory checked in at 2023-07-31 15:24:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bmake (Old)
and /work/SRC/openSUSE:Factory/.bmake.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bmake"
Mon Jul 31 15:24:20 2023 rev:21 rq:1101385 version:20230723
Changes:
--------
--- /work/SRC/openSUSE:Factory/bmake/bmake.changes 2021-06-16 20:36:52.195327926 +0200
+++ /work/SRC/openSUSE:Factory/.bmake.new.32662/bmake.changes 2023-07-31 15:24:23.727333247 +0200
@@ -1,0 +2,12 @@
+Wed Jul 26 06:30:49 UTC 2023 - Matej Cepl <mcepl(a)suse.com>
+
+- Update to 20230723:
+ - There were many changes, like really many. See ChangeLog
+ which has been packaged for the list of them.
+
+-------------------------------------------------------------------
+Wed Jul 26 06:21:23 UTC 2023 - Matej Cepl <mcepl(a)suse.com>
+
+- Refresh patches, remove %patchN construct.
+
+-------------------------------------------------------------------
Old:
----
bmake-20200606.tar.gz
New:
----
bmake-20230723.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bmake.spec ++++++
--- /var/tmp/diff_new_pack.FNvKyU/_old 2023-07-31 15:24:24.647338558 +0200
+++ /var/tmp/diff_new_pack.FNvKyU/_new 2023-07-31 15:24:24.651338582 +0200
@@ -1,7 +1,7 @@
#
# spec file for package bmake
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,8 +16,14 @@
#
+# Building Fedora packages in OBS
+%{!?ext_man: %define ext_man .gz}
+%if 0%{?fedora_version}
+%global debug_package %{nil}
+%endif
+
Name: bmake
-Version: 20200606
+Version: 20230723
Release: 0
Summary: The NetBSD make(1) tool
License: BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause
@@ -41,13 +47,11 @@
supported in Makefiles is very different.
%prep
-%setup -q -n %{name}
-%patch0 -p1
-%patch1
+%autosetup -p1 -n %{name}
%build
unset MAKEFLAGS
-env CFLAGS="%{optflags}" \
+env CFLAGS="%{optflags} -g" \
./boot-strap -o Linux \
--prefix="%{_prefix}" \
--sysconfdir="%{_sysconfdir}" \
@@ -63,7 +67,6 @@
--install-prefix="%{_prefix}" \
--install-destdir=%{buildroot} \
op=install
-mv "%{buildroot}%{_mandir}/cat1" "%{buildroot}%{_mandir}/man1"
%check
./boot-strap op=test
++++++ allow-overriding-compiler-variables.patch ++++++
--- /var/tmp/diff_new_pack.FNvKyU/_old 2023-07-31 15:24:24.675338720 +0200
+++ /var/tmp/diff_new_pack.FNvKyU/_new 2023-07-31 15:24:24.679338743 +0200
@@ -1,161 +1,32 @@
---- bmake/mk/sys/Linux.mk 2020-04-18 00:08:31.000000000 +0300
-+++ Linux.mk 2020-05-16 19:05:25.000000000 +0300
-@@ -8,76 +8,95 @@
- ROOT_GROUP= root
+---
+ mk/sys/Linux.mk | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+--- a/mk/sys/Linux.mk
++++ b/mk/sys/Linux.mk
+@@ -21,7 +21,7 @@ ARFLAGS ?= r
+ RANLIB ?= ranlib
- # would be better to work out where it is...
--LIBCRT0= /dev/null
-+LIBCRT0?= /dev/null
-
--NEED_SOLINKS=yes
-+NEED_SOLINKS?=yes
-
- .SUFFIXES: .out .a .ln .o .c ${CXX_SUFFIXES} .F .f .r .y .l .s .S .cl .p .h .sh .m4
-
- .LIBS: .a
-
--AR= ar
--ARFLAGS= rl
--RANLIB= ranlib
--
--AS= as
+ AS ?= as
-AFLAGS=
--COMPILE.s= ${AS} ${AFLAGS}
--LINK.s= ${CC} ${AFLAGS} ${LDFLAGS}
--COMPILE.S= ${CC} ${AFLAGS} ${CPPFLAGS} -c
--LINK.S= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
--.if exists(/usr/local/bin/gcc)
--CC= gcc -pipe
--DBG= -O -g
--STATIC?= -static
--.else
--CC= cc -pipe
--DBG= -g
--STATIC= -Bstatic
--.endif
--CFLAGS= ${DBG}
--COMPILE.c= ${CC} ${CFLAGS} ${CPPFLAGS} -c
--LINK.c= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
--
--CXX= g++
--CXXFLAGS= ${CFLAGS}
--COMPILE.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
--LINK.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
-+AR?= ar
-+ARFLAGS?= rl
-+RANLIB?= ranlib
-+
-+AS?= as
-+AFLAGS?=
-+COMPILE.s?= ${CC} ${AFLAGS} -c
-+LINK.s?= ${CC} ${AFLAGS} ${LDFLAGS}
-+COMPILE.S?= ${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp
-+LINK.S?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
-+CC?= gcc
-+DBG?= -O -g
-+STATIC?= -static
-+CFLAGS?= ${DBG}
-+COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c
-+LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
-+
-+CXX?= g++
-+CXXFLAGS?= ${CFLAGS}
-+COMPILE.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
-+LINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
-+
-+OBJC?= ${CC}
-+OBJCFLAGS?= ${CFLAGS}
-+COMPILE.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c
-+LINK.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS}
-
--CPP= cpp
-+CPP?= cpp
- .if defined(DESTDIR)
- CPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include
- .endif
++AFLAGS ?=
+ COMPILE.s ?= ${AS} ${AFLAGS}
+ LINK.s ?= ${CC} ${AFLAGS} ${LDFLAGS}
+ COMPILE.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} -c
+@@ -79,6 +79,12 @@ YACC ?= yacc
+ YFLAGS ?= -d
+ YACC.y ?= ${YACC} ${YFLAGS}
--MK_DEP= mkdeps.sh -N
--FC= f77
--FFLAGS= -O
--RFLAGS=
--COMPILE.f= ${FC} ${FFLAGS} -c
--LINK.f= ${FC} ${FFLAGS} ${LDFLAGS}
--COMPILE.F= ${FC} ${FFLAGS} ${CPPFLAGS} -c
--LINK.F= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
--COMPILE.r= ${FC} ${FFLAGS} ${RFLAGS} -c
--LINK.r= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
--
--LEX= lex
--LFLAGS=
--LEX.l= ${LEX} ${LFLAGS}
--
--LD= ld
--LDFLAGS=
--
--LINT= lint
--LINTFLAGS= -chapbx
--
--PC= pc
--PFLAGS=
--COMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c
--LINK.p= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
--
--YACC= yacc
--YFLAGS= -d
--YACC.y= ${YACC} ${YFLAGS}
-+MK_DEP?= mkdeps.sh -N
-+FC?= f77
-+FFLAGS?= -O
-+RFLAGS?=
-+COMPILE.f?= ${FC} ${FFLAGS} -c
-+LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS}
-+COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c
-+LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
-+COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c
-+LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
-+
-+INSTALL?= install
-+
-+LEX?= lex
-+LFLAGS?=
-+LEX.l?= ${LEX} ${LFLAGS}
-+
-+LD?= ld
-+LDFLAGS?=
-+
-+LINT?= lint
-+LINTFLAGS?= -chapbxzF
-+
-+LORDER?= echo
-+
-+MAKE?= bmake
-+
-+NM?= nm
-+
-+PC?= pc
-+PFLAGS?=
-+COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c
-+LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
-+
-+SHELL?= sh
-+
-+SIZE?= size
-+
-+TSORT?= tsort
-+
-+YACC?= yacc
-+YFLAGS?= -d
-+YACC.y?= ${YACC} ${YFLAGS}
-+
+# At least Ubuntu 8.1 sets __attribute__((warn_unused_result)) on fwrite()
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509
+.if !defined(NOGCCERROR)
+CFLAGS+= -Wno-error
+.endif
-
++
# C
.c:
-@@ -88,6 +107,8 @@
+ ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
+@@ -88,6 +94,8 @@ YACC.y ?= ${YACC} ${YFLAGS}
${COMPILE.c} ${.IMPSRC}
${AR} ${ARFLAGS} $@ $*.o
rm -f $*.o
++++++ bmake-20200606.tar.gz -> bmake-20230723.tar.gz ++++++
++++ 121922 lines of diff (skipped)
++++++ bmake-env-script-interpreter.diff ++++++
--- /var/tmp/diff_new_pack.FNvKyU/_old 2023-07-31 15:24:25.055340914 +0200
+++ /var/tmp/diff_new_pack.FNvKyU/_new 2023-07-31 15:24:25.063340960 +0200
@@ -1,5 +1,9 @@
---- mk/meta2deps.py.orig 2017-07-09 08:03:36.000000000 +0300
-+++ mk/meta2deps.py 2018-08-05 12:14:09.742096756 +0300
+---
+ mk/meta2deps.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/mk/meta2deps.py
++++ b/mk/meta2deps.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
1
0