openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
October 2024
- 1 participants
- 1410 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package firecracker for openSUSE:Factory checked in at 2024-10-16 23:54:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/firecracker (Old)
and /work/SRC/openSUSE:Factory/.firecracker.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "firecracker"
Wed Oct 16 23:54:35 2024 rev:10 rq:1208487 version:1.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/firecracker/firecracker.changes 2023-10-10 21:03:09.180289320 +0200
+++ /work/SRC/openSUSE:Factory/.firecracker.new.19354/firecracker.changes 2024-10-16 23:55:09.746025816 +0200
@@ -1,0 +2,382 @@
+Thu Sep 26 13:18:02 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 1.9.0:
+ * Added
+ - #4687: Added VMGenID support for microVMs running on ARM
+ hosts with 6.1 guest kernels. Support for VMGenID via
+ DeviceTree bindings exists only on mainline 6.10 Linux
+ onwards. Users of Firecracker will need to backport the
+ relevant patches on top of their 6.1 kernels to make use of
+ the feature.
+ - #4732, #4733, #4741, #4746: Added official support for 6.1
+ microVM guest kernels.
+ * Changed
+ - nothing
+ * Deprecated
+ - Support for guest kernel 4.14 is now deprecated. We will
+ completely remove 4.14 support with Firecracker version v1.10
+ * Removed
+ - #4689: Drop support for host kernel 4.14. Linux 4.14 reached
+ end-of-life in January 2024. The minimum supported kernel now
+ is 5.10. Guest kernel 4.14 is still supported.
+ * Fixed
+ - 4680: Fixed an issue (#4659) where the virtio-net device
+ implementation would always assume the guest accepts all
+ VirtIO features the device offers. This is always true with
+ the Linux guest kernels we are testing but other kernels,
+ like FreeBSD make different assumptions. This PR fixes the
+ emulation code to set the TAP features based on the features
+ accepted by the guest.
+- Update to version 1.8.0:
+ * Added
+ - #4428: Added ACPI support to Firecracker for x86_64 microVMs.
+ Currently, we pass ACPI tables with information about the
+ available vCPUs, interrupt controllers, VirtIO and legacy x86
+ devices to the guest. This allows booting kernels without
+ MPTable support. Please see our kernel policy documentation
+ for more information regarding relevant kernel
+ configurations.
+ - #4487: Added support for the Virtual Machine Generation
+ Identifier (VMGenID) device on x86_64 platforms. VMGenID is a
+ virtual device that allows VMMs to notify guests when they
+ are resumed from a snapshot. Linux includes VMGenID support
+ since version 5.18. It uses notifications from the device to
+ reseed its internal CSPRNG. Please refer to snapshot support
+ and random for clones documention for more info on VMGenID.
+ VMGenID state is part of the snapshot format of Firecracker.
+ As a result, Firecracker snapshot version is now 2.0.0.
+ * Changed
+ - #4492: Changed --config parameter of cpu-template-helper
+ optional. Users no longer need to prepare kernel, rootfs and
+ Firecracker configuration files to use cpu-template-helper.
+ - #4537 Changed T2CL template to pass through bit 27 and 28 of
+ MSR_IA32_ARCH_CAPABILITIES (RFDS_NO and RFDS_CLEAR) since KVM
+ consider they are able to be passed through and T2CL isn't
+ designed for secure snapshot migration between different
+ processors.
+ - #4537 Changed T2S template to set bit 27 of
+ MSR_IA32_ARCH_CAPABILITIES (RFDS_NO) to 1 since it assumes
+ that the fleet only consists of processors that are not
+ affected by RFDS.
+ - #4388: Avoid setting kvm_immediate_exit to 1 if are already
+ handling an exit, or if the vCPU is stopped. This avoids a
+ spurious KVM exit upon restoring snapshots.
+ - #4567: Do not initialize vCPUs in powered-off state upon
+ snapshot restore. No functional change, as vCPU
+ initialization is only relevant for the booted case (where
+ the guest expects CPUs to be powered off).
+ * Deprecated
+ - Firecracker's --start-time-cpu-us and --start-time-us
+ parameters are deprecated and will be removed in v2.0 or
+ later. They are used by the jailer to pass the value that
+ should be subtracted from the (CPU) time, when emitting the
+ start_time_us and start_time_cpu_us metrics. These parameters
+ were never meant to be used by end customers, and we
+ recommend doing any such time adjustments outside
+ Firecracker.
+ - Booting with microVM kernels that rely on MPTable on x86_64
+ is deprecated and support will be removed in v2.0 or later.
+ We suggest to users of Firecracker to use guest kernels with
+ ACPI support. For x86_64 microVMs, ACPI will be the only way
+ Firecracker passes hardware information to the guest once
+ MPTable support is removed.
+ * Fixed
+ - #4526: Added a check in the network TX path that the size of
+ the network frames the guest passes to us is not bigger than
+ the maximum frame the device expects to handle. On the TX
+ path, we copy frames destined to MMDS from guest memory to
+ Firecracker memory. Without the check, a mis-behaving
+ virtio-net driver could cause an increase in the memory
+ footprint of the Firecracker process. Now, if we receive such
+ a frame, we ignore it and increase Net::tx_malformed_frames
+ metric.
+ - #4536: Make the first differential snapshot taken after a
+ full snapshot contain only the set of memory pages changed
+ since the full snapshot. Previously, these differential
+ snapshots would contain all memory pages. This will result in
+ potentially much smaller differential snapshots after a full
+ snapshot.
+ - #4578: Fix UFFD support not being forward-compatible with new
+ ioctl options introduced in Linux 6.6. See also
+ bytecodealliance/userfaultfd-rs#61.
+ - #4630: On x86_64, when taking a snapshot, if a vCPU has
+ MSR_IA32_TSC_DEADLINE set to 0, Firecracker will replace it
+ with the MSR_IA32_TSC value from the same vCPU. This is to
+ guarantee that the vCPU will continue receiving TSC
+ interrupts after restoring from the snapshot even if an
+ interrupt is lost when taking a snapshot.
+ - #4666: Fixed Firecracker sometimes restoring
+ MSR_IA32_TSC_DEADLINE before MSR_IA32_TSC. Now it always
+ restores MSR_IA32_TSC_DEADLINE MSR after MSR_IA32_TSC, as KVM
+ relies on the guest TSC for correct restoration of
+ MSR_IA32_TSC_DEADLINE. This fixed guests using the
+ TSC_DEADLINE hardware feature receiving incorrect timer
+ interrupts after snapshot restoration, which could lead to
+ them seemingly getting stuck in sleep-related syscalls (see
+ also #4099).
+- Update to version 1.7.0:
+ * Added
+ - #4346: Added support to emit aggregate (minimum/maximum/sum)
+ latency for VcpuExit::MmioRead, VcpuExit::MmioWrite,
+ VcpuExit::IoIn and VcpuExit::IoOut. The average for these VM
+ exits is not emitted since it can be deduced from the
+ available emitted metrics.
+ - #4360: Added dev-preview support for backing a VM's guest
+ memory by 2M hugetlbfs pages. Please see the documentation
+ for more information
+ - #4490: Added block and net device metrics for file/tap access
+ latencies and queue backlog lengths, which can be used to
+ analyse saturation of the Firecracker VMM thread and
+ underlying layers. Queue backlog length metrics are flushed
+ periodically. They can be used to esimtate an average queue
+ length by request by dividing its value by the number of
+ requests served.
+ * Changed
+ - #4230: Changed microVM snapshot format version strategy.
+ Firecracker snapshot format now has a version that is
+ independent of Firecracker version. The current version of
+ the snapshot format is v1.0.0. From now on, the Firecracker
+ binary will define the snapshot format version it supports
+ and it will only be able to load snapshots with format that
+ is backwards compatible with that version. Users can pass the
+ --snapshot-version flag to the Firecracker binary to see its
+ supported snapshot version format. This change renders all
+ previous Firecracker snapshots (up to Firecracker version
+ v1.6.0) incompatible with the current Firecracker version.
+ - #4449: Added information about page size to the payload
+ Firecracker sends to the UFFD handler. Each memory region
+ object now contains a page_size_kib field. See also the
+ hugepages documentation.
+ - #4501: Only use memfd to back guest memory if a
+ vhost-user-blk device is configured, otherwise use anonymous
+ private memory. This is because serving page faults of shared
+ memory used by memfd is slower and may impact workloads.
+ * Fixed
+ - #4409: Fixed a bug in the cpu-template-helper that made it
+ panic during conversion of cpu configuration with SVE
+ registers to the cpu template on aarch64 platform. Now
+ cpu-template-helper will print warnings if it encounters SVE
+ registers during the conversion process. This is because cpu
+ templates are limited to only modify registers less than 128
+ bits.
+ - #4413: Fixed a bug in the Firecracker that prevented it to
+ restore snapshots of VMs that had SVE enabled.
+ - #4414: Made PATCH requests to the /machine-config endpoint
+ transactional, meaning Firecracker's configuration will be
+ unchanged if the request returns an error. This fixes a bug
+ where a microVM with incompatible balloon and guest memory
+ size could be booted, due to the check for this condition
+ happening after Firecracker's configuration was updated.
+ - #4259: Added a double fork mechanism in the Jailer to avoid
+ setsid() failures occurred while running Jailer as the
+ process group leader. However, this changed the behaviour of
+ Jailer and now the Firecracker process will always have a
+ different PID than the Jailer process.
+ - #4436: Added a "Known Limitations" section in the Jailer docs
+ to highlight the above change in behaviour introduced in
+ PR#4259.
+ - #4442: As a solution to the change in behaviour introduced in
+ PR#4259, provided a mechanism to reliably fetch Firecracker
+ PID. With this change, Firecracker process's PID will always
+ be available in the Jailer's root directory regardless of
+ whether new_pid_ns was set.
+ - #4468: Fixed a bug where a client would hang or timeout when
+ querying for an MMDS path whose content is empty, because the
+ 'Content-Length' header field was missing in a response.
+- Update to version 1.6.0:
+ * Added
+ - #4145: Added support for per net device metrics. In addition
+ to aggregate metrics net, each individual net device will
+ emit metrics under the label "net_{iface_id}". E.g. the
+ associated metrics for the endpoint
+ "/network-interfaces/eth0" will be available under "net_eth0"
+ in the metrics json object.
+ - #4202: Added support for per block device metrics. In
+ addition to aggregate metrics block, each individual block
+ device will emit metrics under the label "block_{drive_id}".
+ E.g. the associated metrics for the endpoint
+ "/drives/{drive_id}" will be available under "block_drive_id"
+ in the metrics json object.
+ - #4205: Added a new vm-state subcommand to info-vmstate
+ command in the snapshot-editor tool to print MicrovmState of
+ vmstate snapshot file in a readable format. Also made the
+ vcpu-states subcommand available on x86_64.
+ - #4063: Added source-level instrumentation based tracing. See
+ tracing for more details.
+ - #4138, #4170, #4223, #4247, #4226: Added developer preview
+ only (NOT for production use) support for vhost-user block
+ devices. Firecracker implements a vhost-user frontend. Users
+ are free to choose from existing open source backend
+ solutions or their own implementation. Known limitation:
+ snapshotting is not currently supported for microVMs
+ containing vhost-user block devices. See the related doc page
+ for details. The device emits metrics under the label
+ "vhost_user_{device}_{drive_id}".
+ * Changed
+ - #4309: The jailer’s option --parent-cgroup will move the
+ process to that cgroup if no cgroup options are provided.
+ - Simplified and clarified the removal policy of deprecated API
+ elements to follow semantic versioning 2.0.0. For more
+ information, please refer to this GitHub discussion.
+ - #4180: Refactored error propagation to avoid logging and
+ printing an error on exits with a zero exit code. Now, on
+ successful exit “Firecracker exited successfully” is logged.
+ - #4194: Removed support for creating Firecracker snapshots
+ targeting older versions of Firecracker. With this change,
+ running ‘firecracker –version’ will not print the supported
+ snapshot versions.
+ - #4301: Allow merging of diff snapshots into base snapshots by
+ directly writing the diff snapshot on top of the base
+ snapshot’s memory file. This can be done by setting the
+ mem_file_path to the path of the pre-existing full snapshot.
+ * Deprecated
+ - #4209: rebase-snap tool is now deprecated. Users should use
+ snapshot-editor for rebasing diff snapshots.
+ * Fixed
+ - #4171: Fixed a bug that ignored the --show-log-origin option,
+ preventing it from printing the source code file of the log
+ messages.
+ - #4178: Fixed a bug reporting a non-zero exit code on
+ successful shutdown when starting Firecracker with --no-api.
+ - #4261: Fixed a bug where Firecracker would log
+ “RunWithApiError error: MicroVMStopped without an error:
+ GenericError” when exiting after encountering an emulation
+ error. It now correctly prints “RunWithApiError error:
+ MicroVMStopped with an error: GenericError”.
+ - #4242: Fixed a bug introduced in #4047 that limited the
+ --level option of logger to Pascal-cased values (e.g.
+ accepting “Info”, but not “info”). It now ignores case again.
+ - #4286: Fixed a bug in the asynchronous virtio-block engine
+ that rendered the device non-functional after a PATCH request
+ was issued to Firecracker for updating the path to the
+ host-side backing file of the device.
+ - #4301: Fixed a bug where if Firecracker was instructed to
+ take a snapshot of a microvm which itself was restored from a
+ snapshot, specifying mem_file_path to be the path of the
+ memory file from which the microvm was restored would result
+ in both the microvm and the snapshot being corrupted. It now
+ instead performs a “write-back” of all memory that was
+ updated since the snapshot was originally loaded.
+- Update to version 1.5.1:
+ * Added
+ - #4287: Document a caveat to the jailer docs when using the
+ --parent-cgroup option, which results in it being ignored by
+ the jailer. Refer to the jailer documentation for a
+ workaround.
+ * Changed
+ - #4191: Refactored error propagation to avoid logging and
+ printing an error on exits with a zero exit code. Now, on
+ successful exit "Firecracker exited successfully" is logged.
+ * Fixed
+ - #4277: Fixed a bug that ignored the --show-log-origin option,
+ preventing it from printing the source code file of the log
+ messages.
+ - #4179: Fixed a bug reporting a non-zero exit code on
+ successful shutdown when starting Firecracker with --no-api.
+ - #4271: Fixed a bug where Firecracker would log
+ "RunWithApiError error: MicroVMStopped without an error:
+ GenericError" when exiting after encountering an emulation
+ error. It now correctly prints "RunWithApiError error:
+ MicroVMStopped with an error: GenericError".
+ - #4270: Fixed a bug introduced in #4047 that limited the
+ --level option of logger to Pascal-cased values (e.g.
+ accepting "Info", but not "info"). It now ignores case again.
+ - #4295: Fixed a bug in the asynchronous virtio-block engine
+ that rendered the device non-functional after a PATCH request
+ was issued to Firecracker for updating the path to the
+ host-side backing file of the device.
+- Update to version 1.5.0:
+ * Added
+ - #3837: Added official support for Linux 6.1. See
+ prod-host-setup for some security and performance
+ considerations.
+ - #4045 and #4075: Added snapshot-editor tool for modifications
+ of snapshot files. It allows for rebasing of memory snapshot
+ files, printing and removing aarch64 registers from the
+ vmstate and obtaining snapshot version.
+ - #3967: Added new fields to the custom CPU templates. (aarch64
++++ 85 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/firecracker/firecracker.changes
++++ and /work/SRC/openSUSE:Factory/.firecracker.new.19354/firecracker.changes
Old:
----
cargo_config
firecracker-1.4.1.tar.xz
New:
----
_servicedata
firecracker-1.9.0.obscpio
firecracker.obsinfo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ firecracker.spec ++++++
--- /var/tmp/diff_new_pack.2R2Ycs/_old 2024-10-16 23:55:12.094123743 +0200
+++ /var/tmp/diff_new_pack.2R2Ycs/_new 2024-10-16 23:55:12.098123910 +0200
@@ -1,7 +1,7 @@
#
# spec file for package firecracker
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,21 +16,14 @@
#
-# Use hardening ldflags.
-%define cargo_home cargo-home
-
Name: firecracker
-Version: 1.4.1
+Version: 1.9.0
Release: 0
Summary: Virtual Machine Monitor for creating microVMs
License: Apache-2.0
-Group: System/Emulators/PC
URL: https://firecracker-microvm.github.io/
-Source0: %{name}-%{version}.tar.xz
-# Created using cargo_vendor service
+Source0: %{name}-%{version}.tar.gz
Source1: vendor.tar.xz
-Source2: cargo_config
-
BuildRequires: cargo
BuildRequires: clang
BuildRequires: cmake
@@ -42,21 +35,9 @@
multi-tenant container and function-based services.
%prep
-%setup -q -a1
-
-cp %{SOURCE2} .cargo/config
-# Remove exec bits to prevent an issue in fedora shebang checking
-find vendor -type f -name \*.rs -exec chmod -x '{}' \;
+%autosetup -p 1 -a 1
%build
-mkdir %{cargo_home}
-cat > %{cargo_home}/config <<EOF
-[source.crates-io]
-registry = 'https://github.com/rust-lang/crates.io-index'
-replace-with = 'vendored-sources'
-[source.vendored-sources]
-directory = './vendor'
-EOF
# Copying the file elsewhere is required, because rpm build for aarch64
# tries to change all the config.guess files found in BUILD with
++++++ _service ++++++
--- /var/tmp/diff_new_pack.2R2Ycs/_old 2024-10-16 23:55:12.130125244 +0200
+++ /var/tmp/diff_new_pack.2R2Ycs/_new 2024-10-16 23:55:12.134125411 +0200
@@ -1,28 +1,25 @@
<services>
- <service name="tar_scm" mode="disabled">
+ <service name="obs_scm" mode="manual">
<param name="url">https://github.com/firecracker-microvm/firecracker.git</param>
<param name="scm">git</param>
- <param name="filename">firecracker</param>
- <param name="versionformat">1.3.2</param>
- <param name="revision">v1.4.1</param>
+ <param name="revision">v1.9.0</param>
+ <param name="versionformat">@PARENT_TAG@</param>
+ <param name="changesgenerate">enable</param>
+ <param name="versionrewrite-pattern">v(.*)</param>
</service>
-
-
- <service name="set_version" mode="disabled">
- <param name="basename">firecracker</param>
- </service>
-
- <service name="recompress" mode="disabled">
- <param name="file">*.tar</param>
- <param name="compression">xz</param>
+ <service name="set_version" mode="manual">
</service>
-
- <service name="cargo_audit" mode="disabled" />
-
- <service name="cargo_vendor" mode="disabled">
+ <service name="cargo_vendor" mode="manual">
<param name="srcdir">firecracker</param>
<param name="compression">xz</param>
<param name="update">true</param>
</service>
+ <!-- services below are running at buildtime -->
+ <service name="tar" mode="buildtime">
+ </service>
+ <service name="recompress" mode="buildtime">
+ <param name="file">*.tar</param>
+ <param name="compression">gz</param>
+ </service>
</services>
++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/firecracker-microvm/firecracker.git</param>
<param name="changesrevision">d3b02e09276344f04a945a955f46b1c2a1c2085b</param></service></servicedata>
(No newline at EOF)
++++++ firecracker.obsinfo ++++++
name: firecracker
version: 1.9.0
mtime: 1725297398
commit: d3b02e09276344f04a945a955f46b1c2a1c2085b
++++++ vendor.tar.xz ++++++
/work/SRC/openSUSE:Factory/firecracker/vendor.tar.xz /work/SRC/openSUSE:Factory/.firecracker.new.19354/vendor.tar.xz differ: char 1, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package minio-client for openSUSE:Factory checked in at 2024-10-16 23:54:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/minio-client (Old)
and /work/SRC/openSUSE:Factory/.minio-client.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "minio-client"
Wed Oct 16 23:54:29 2024 rev:98 rq:1208485 version:20241008T093726Z
Changes:
--------
--- /work/SRC/openSUSE:Factory/minio-client/minio-client.changes 2024-10-03 17:45:02.735900750 +0200
+++ /work/SRC/openSUSE:Factory/.minio-client.new.19354/minio-client.changes 2024-10-16 23:55:02.533725027 +0200
@@ -1,0 +2,8 @@
+Wed Oct 16 15:36:06 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 20241008T093726Z:
+ * Do not fail mc-admin-policy-attach if policy already
+ attached/detached (#5058)
+ * Add `mc admin accesskey` commands (#5038)
+
+-------------------------------------------------------------------
Old:
----
minio-client-20241002T082728Z.obscpio
New:
----
minio-client-20241008T093726Z.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ minio-client.spec ++++++
--- /var/tmp/diff_new_pack.kg4zvb/_old 2024-10-16 23:55:05.109832463 +0200
+++ /var/tmp/diff_new_pack.kg4zvb/_new 2024-10-16 23:55:05.113832630 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: minio-client
-Version: 20241002T082728Z
+Version: 20241008T093726Z
Release: 0
Summary: Client for MinIO
License: AGPL-3.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.kg4zvb/_old 2024-10-16 23:55:05.149834132 +0200
+++ /var/tmp/diff_new_pack.kg4zvb/_new 2024-10-16 23:55:05.149834132 +0200
@@ -5,7 +5,7 @@
<param name="exclude">.git</param>
<param name="changesgenerate">enable</param>
<param name="versionformat">@PARENT_TAG@</param>
- <param name="revision">RELEASE.2024-10-02T08-27-28Z</param>
+ <param name="revision">RELEASE.2024-10-08T09-37-26Z</param>
<param name="match-tag">RELEASE.*</param>
<param name="versionrewrite-pattern">RELEASE\.(.*)-(.*)-(.*)-(.*)-(.*)</param>
<param name="versionrewrite-replacement">\1\2\3\4\5</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.kg4zvb/_old 2024-10-16 23:55:05.169834966 +0200
+++ /var/tmp/diff_new_pack.kg4zvb/_new 2024-10-16 23:55:05.173835133 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/minio/mc</param>
- <param name="changesrevision">ce0b4341521de16ae2172d42054bbe054f9c9651</param></service></servicedata>
+ <param name="changesrevision">cf128de2cf42e763e7bd30c6df8b749fa94e0c10</param></service></servicedata>
(No newline at EOF)
++++++ minio-client-20241002T082728Z.obscpio -> minio-client-20241008T093726Z.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/admin-accesskey-create.go new/minio-client-20241008T093726Z/cmd/admin-accesskey-create.go
--- old/minio-client-20241002T082728Z/cmd/admin-accesskey-create.go 1970-01-01 01:00:00.000000000 +0100
+++ new/minio-client-20241008T093726Z/cmd/admin-accesskey-create.go 2024-10-08 11:37:26.000000000 +0200
@@ -0,0 +1,94 @@
+// Copyright (c) 2015-2024 MinIO, Inc.
+//
+// This file is part of MinIO Object Storage stack
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+package cmd
+
+import (
+ "github.com/minio/cli"
+)
+
+var adminAccesskeyCreateFlags = []cli.Flag{
+ cli.StringFlag{
+ Name: "access-key",
+ Usage: "set an access key for the account",
+ },
+ cli.StringFlag{
+ Name: "secret-key",
+ Usage: "set a secret key for the account",
+ },
+ cli.StringFlag{
+ Name: "policy",
+ Usage: "path to a JSON policy file",
+ },
+ cli.StringFlag{
+ Name: "name",
+ Usage: "friendly name for the account",
+ },
+ cli.StringFlag{
+ Name: "description",
+ Usage: "description for the account",
+ },
+ cli.StringFlag{
+ Name: "expiry-duration",
+ Usage: "duration before the access key expires",
+ },
+ cli.StringFlag{
+ Name: "expiry",
+ Usage: "expiry date for the access key",
+ },
+}
+
+var adminAccesskeyCreateCmd = cli.Command{
+ Name: "create",
+ Usage: "create access key pairs for users",
+ Action: mainAdminAccesskeyCreate,
+ Before: setGlobalsFromContext,
+ Flags: append(adminAccesskeyCreateFlags, globalFlags...),
+ OnUsageError: onUsageError,
+ CustomHelpTemplate: `NAME:
+ {{.HelpName}} - {{.Usage}}
+
+USAGE:
+ {{.HelpName}} [FLAGS] [TARGET]
+
+FLAGS:
+ {{range .VisibleFlags}}{{.}}
+ {{end}}
+EXAMPLES:
+ 1. Create a new access key pair with the same policy as the authenticated user
+ {{.Prompt}} {{.HelpName}} myminio/
+
+ 2. Create a new access key pair with custom access key and secret key
+ {{.Prompt}} {{.HelpName}} myminio/ --access-key myaccesskey --secret-key mysecretkey
+
+ 3. Create a new access key pair for user 'tester' that expires in 1 day
+ {{.Prompt}} {{.HelpName}} myminio/ tester --expiry-duration 24h
+
+ 4. Create a new access key pair for authenticated user that expires on 2025-01-01
+ {{.Prompt}} {{.HelpName}} --expiry 2025-01-01
+
+ 5. Create a new access key pair for user 'tester' with a custom policy
+ {{.Prompt}} {{.HelpName}} myminio/ tester --policy /path/to/policy.json
+
+ 6. Create a new access key pair for user 'tester' with a custom name and description
+ {{.Prompt}} {{.HelpName}} myminio/ tester --name "Tester's Access Key" --description "Access key for tester"
+`,
+}
+
+func mainAdminAccesskeyCreate(ctx *cli.Context) error {
+ return commonAccesskeyCreate(ctx, false)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/admin-accesskey-disable.go new/minio-client-20241008T093726Z/cmd/admin-accesskey-disable.go
--- old/minio-client-20241002T082728Z/cmd/admin-accesskey-disable.go 1970-01-01 01:00:00.000000000 +0100
+++ new/minio-client-20241008T093726Z/cmd/admin-accesskey-disable.go 2024-10-08 11:37:26.000000000 +0200
@@ -0,0 +1,48 @@
+// Copyright (c) 2015-2024 MinIO, Inc.
+//
+// This file is part of MinIO Object Storage stack
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+package cmd
+
+import (
+ "github.com/minio/cli"
+)
+
+var adminAccesskeyDisableCmd = cli.Command{
+ Name: "disable",
+ Usage: "disable an access key",
+ Action: mainAdminAccesskeyDisable,
+ Before: setGlobalsFromContext,
+ Flags: globalFlags,
+ OnUsageError: onUsageError,
+ CustomHelpTemplate: `NAME:
+ {{.HelpName}} - {{.Usage}}
+
+USAGE:
+ {{.HelpName}} [FLAGS] [TARGET]
+
+FLAGS:
+ {{range .VisibleFlags}}{{.}}
+ {{end}}
+EXAMPLES:
+ 1. Disable access key
+ {{.Prompt}} {{.HelpName}} myminio myaccesskey
+`,
+}
+
+func mainAdminAccesskeyDisable(ctx *cli.Context) error {
+ return enableDisableAccesskey(ctx, false)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/admin-accesskey-edit.go new/minio-client-20241008T093726Z/cmd/admin-accesskey-edit.go
--- old/minio-client-20241002T082728Z/cmd/admin-accesskey-edit.go 1970-01-01 01:00:00.000000000 +0100
+++ new/minio-client-20241008T093726Z/cmd/admin-accesskey-edit.go 2024-10-08 11:37:26.000000000 +0200
@@ -0,0 +1,77 @@
+// Copyright (c) 2015-2024 MinIO, Inc.
+//
+// This file is part of MinIO Object Storage stack
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+package cmd
+
+import (
+ "github.com/minio/cli"
+)
+
+var adminAccesskeyEditFlags = []cli.Flag{
+ cli.StringFlag{
+ Name: "secret-key",
+ Usage: "set a secret key for the account",
+ },
+ cli.StringFlag{
+ Name: "policy",
+ Usage: "path to a JSON policy file",
+ },
+ cli.StringFlag{
+ Name: "name",
+ Usage: "friendly name for the account",
+ },
+ cli.StringFlag{
+ Name: "description",
+ Usage: "description for the account",
+ },
+ cli.StringFlag{
+ Name: "expiry-duration",
+ Usage: "duration before the access key expires",
+ },
+ cli.StringFlag{
+ Name: "expiry",
+ Usage: "expiry date for the access key",
+ },
+}
+
+var adminAccesskeyEditCmd = cli.Command{
+ Name: "edit",
+ Usage: "edit existing access keys",
+ Action: mainAdminAccesskeyEdit,
+ Before: setGlobalsFromContext,
+ Flags: append(adminAccesskeyEditFlags, globalFlags...),
+ OnUsageError: onUsageError,
+ CustomHelpTemplate: `NAME:
+ {{.HelpName}} - {{.Usage}}
+
+USAGE:
+ {{.HelpName}} [FLAGS] [TARGET]
+
+FLAGS:
+ {{range .VisibleFlags}}{{.}}
+ {{end}}
+EXAMPLES:
+ 1. Change the secret key for the access key "testkey"
+ {{.Prompt}} {{.HelpName}} myminio/ testkey --secret-key 'xxxxxxx'
+ 2. Change the expiry duration for the access key "testkey"
+ {{.Prompt}} {{.HelpName}} myminio/ testkey ---expiry-duration 24h
+`,
+}
+
+func mainAdminAccesskeyEdit(ctx *cli.Context) error {
+ return commonAccesskeyEdit(ctx)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/admin-accesskey-enable.go new/minio-client-20241008T093726Z/cmd/admin-accesskey-enable.go
--- old/minio-client-20241002T082728Z/cmd/admin-accesskey-enable.go 1970-01-01 01:00:00.000000000 +0100
+++ new/minio-client-20241008T093726Z/cmd/admin-accesskey-enable.go 2024-10-08 11:37:26.000000000 +0200
@@ -0,0 +1,48 @@
+// Copyright (c) 2015-2024 MinIO, Inc.
+//
+// This file is part of MinIO Object Storage stack
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+package cmd
+
+import (
+ "github.com/minio/cli"
+)
+
+var adminAccesskeyEnableCmd = cli.Command{
+ Name: "enable",
+ Usage: "enable an access key",
+ Action: mainAdminAccesskeyEnable,
+ Before: setGlobalsFromContext,
+ Flags: globalFlags,
+ OnUsageError: onUsageError,
+ CustomHelpTemplate: `NAME:
+ {{.HelpName}} - {{.Usage}}
+
+USAGE:
+ {{.HelpName}} [FLAGS] [TARGET]
+
+FLAGS:
+ {{range .VisibleFlags}}{{.}}
+ {{end}}
+EXAMPLES:
+ 1. Enable access key
+ {{.Prompt}} {{.HelpName}} myminio myaccesskey
+`,
+}
+
+func mainAdminAccesskeyEnable(ctx *cli.Context) error {
+ return enableDisableAccesskey(ctx, true)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/admin-accesskey-info.go new/minio-client-20241008T093726Z/cmd/admin-accesskey-info.go
--- old/minio-client-20241002T082728Z/cmd/admin-accesskey-info.go 1970-01-01 01:00:00.000000000 +0100
+++ new/minio-client-20241008T093726Z/cmd/admin-accesskey-info.go 2024-10-08 11:37:26.000000000 +0200
@@ -0,0 +1,50 @@
+// Copyright (c) 2015-2023 MinIO, Inc.
+//
+// This file is part of MinIO Object Storage stack
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+package cmd
+
+import (
+ "github.com/minio/cli"
+)
+
+var adminAccesskeyInfoCmd = cli.Command{
+ Name: "info",
+ Usage: "info about given access key pairs",
+ Action: mainAdminAccesskeyInfo,
+ Before: setGlobalsFromContext,
+ Flags: globalFlags,
+ OnUsageError: onUsageError,
+ CustomHelpTemplate: `NAME:
+ {{.HelpName}} - {{.Usage}}
+
+USAGE:
+ {{.HelpName}} [FLAGS] TARGET ACCESSKEY [ACCESSKEY...]
+
+FLAGS:
+ {{range .VisibleFlags}}{{.}}
+ {{end}}
+EXAMPLES:
+ 1. Get info for the access key "testkey"
+ {{.Prompt}} {{.HelpName}} local/ testkey
+ 2. Get info for the access keys "testkey" and "testkey2"
+ {{.Prompt}} {{.HelpName}} local/ testkey testkey2
+ `,
+}
+
+func mainAdminAccesskeyInfo(ctx *cli.Context) error {
+ return commonAccesskeyInfo(ctx)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/admin-accesskey-list.go new/minio-client-20241008T093726Z/cmd/admin-accesskey-list.go
--- old/minio-client-20241002T082728Z/cmd/admin-accesskey-list.go 1970-01-01 01:00:00.000000000 +0100
+++ new/minio-client-20241008T093726Z/cmd/admin-accesskey-list.go 2024-10-08 11:37:26.000000000 +0200
@@ -0,0 +1,168 @@
+// Copyright (c) 2015-2024 MinIO, Inc.
+//
+// This file is part of MinIO Object Storage stack
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+package cmd
+
+import (
+ "strings"
+
+ "github.com/charmbracelet/lipgloss"
+ humanize "github.com/dustin/go-humanize"
+ "github.com/minio/cli"
+ json "github.com/minio/colorjson"
+ "github.com/minio/madmin-go/v3"
+ "github.com/minio/mc/pkg/probe"
+)
+
+var adminAccesskeyListFlags = []cli.Flag{
+ cli.BoolFlag{
+ Name: "users-only",
+ Usage: "only list user DNs",
+ },
+ cli.BoolFlag{
+ Name: "temp-only",
+ Usage: "only list temporary access keys",
+ },
+ cli.BoolFlag{
+ Name: "svcacc-only",
+ Usage: "only list service account access keys",
+ },
+ cli.BoolFlag{
+ Name: "self",
+ Usage: "list access keys for the authenticated user",
+ },
+ cli.BoolFlag{
+ Name: "all",
+ Usage: "list all access keys for all builtin users",
+ },
+}
+
+var adminAccesskeyListCmd = cli.Command{
+ Name: "list",
+ ShortName: "ls",
+ Usage: "list access key pairs for builtin users",
+ Action: mainAdminAccesskeyList,
+ Before: setGlobalsFromContext,
+ Flags: append(adminAccesskeyListFlags, globalFlags...),
+ OnUsageError: onUsageError,
+ CustomHelpTemplate: `NAME:
+ {{.HelpName}} - {{.Usage}}
+
+USAGE:
+ {{.HelpName}} [FLAGS] TARGET [DN...]
+
+FLAGS:
+ {{range .VisibleFlags}}{{.}}
+ {{end}}
+EXAMPLES:
+ 1. Get list of all builtin users and associated access keys in local server
+ {{.Prompt}} {{.HelpName}} local/ --all
+
+ 2. Get list of access keys for the authenticated user in local server
+ {{.Prompt}} {{.HelpName}} local/ --self
+
+ 3. Get list of builtin users in local server
+ {{.Prompt}} {{.HelpName}} local/ --all --users-only
+
+ 4. Get list of all builtin users and associated temporary access keys in play server (if admin)
+ {{.Prompt}} {{.HelpName}} play/ --temp-only
+
+ 5. Get list of access keys associated with user 'foobar'
+ {{.Prompt}} {{.HelpName}} play/ foobar
+
+ 6. Get list of access keys associated with users 'foobar' and 'tester'
+ {{.Prompt}} {{.HelpName}} play/ foobar tester
+
+ 7. Get all users and access keys if admin, else get authenticated user and associated access keys
+ {{.Prompt}} {{.HelpName}} local/
+`,
+}
+
+type userAccesskeyList struct {
+ Status string `json:"status"`
+ User string `json:"user"`
+ STSKeys []madmin.ServiceAccountInfo `json:"stsKeys"`
+ ServiceAccounts []madmin.ServiceAccountInfo `json:"svcaccs"`
+ LDAP bool `json:"ldap,omitempty"`
+}
+
+func (m userAccesskeyList) String() string {
+ labelStyle := lipgloss.NewStyle().Foreground(lipgloss.Color("#04B575"))
+ o := strings.Builder{}
+
+ userStr := "User"
+ if m.LDAP {
+ userStr = "DN"
+ }
+ o.WriteString(iFmt(0, "%s %s\n", labelStyle.Render(userStr+":"), m.User))
+ if len(m.STSKeys) > 0 || len(m.ServiceAccounts) > 0 {
+ o.WriteString(iFmt(2, "%s\n", labelStyle.Render("Access Keys:")))
+ }
+ for _, k := range m.STSKeys {
+ expiration := "never"
+ if nilExpiry(k.Expiration) != nil {
+ expiration = humanize.Time(*k.Expiration)
+ }
+ o.WriteString(iFmt(4, "%s, expires: %s, sts: true\n", k.AccessKey, expiration))
+ }
+ for _, k := range m.ServiceAccounts {
+ expiration := "never"
+ if nilExpiry(k.Expiration) != nil {
+ expiration = humanize.Time(*k.Expiration)
+ }
+ o.WriteString(iFmt(4, "%s, expires: %s, sts: false\n", k.AccessKey, expiration))
+ }
+
+ return o.String()
+}
+
+func (m userAccesskeyList) JSON() string {
+ jsonMessageBytes, e := json.MarshalIndent(m, "", " ")
+ fatalIf(probe.NewError(e), "Unable to marshal into JSON.")
+
+ return string(jsonMessageBytes)
+}
+
+func mainAdminAccesskeyList(ctx *cli.Context) error {
+ aliasedURL, tentativeAll, users, opts := commonAccesskeyList(ctx)
+
+ // Create a new MinIO Admin Client
+ client, err := newAdminClient(aliasedURL)
+ fatalIf(err, "Unable to initialize admin connection.")
+
+ accessKeysMap, e := client.ListAccessKeysBulk(globalContext, users, opts)
+ if e != nil {
+ if e.Error() == "Access Denied." && tentativeAll {
+ // retry with self
+ opts.All = false
+ accessKeysMap, e = client.ListAccessKeysBulk(globalContext, users, opts)
+ }
+ fatalIf(probe.NewError(e), "Unable to list access keys.")
+ }
+
+ for user, accessKeys := range accessKeysMap {
+ m := userAccesskeyList{
+ Status: "success",
+ User: user,
+ ServiceAccounts: accessKeys.ServiceAccounts,
+ STSKeys: accessKeys.STSKeys,
+ LDAP: false,
+ }
+ printMsg(m)
+ }
+ return nil
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/admin-accesskey-remove.go new/minio-client-20241008T093726Z/cmd/admin-accesskey-remove.go
--- old/minio-client-20241002T082728Z/cmd/admin-accesskey-remove.go 1970-01-01 01:00:00.000000000 +0100
+++ new/minio-client-20241008T093726Z/cmd/admin-accesskey-remove.go 2024-10-08 11:37:26.000000000 +0200
@@ -0,0 +1,49 @@
+// Copyright (c) 2015-2024 MinIO, Inc.
+//
+// This file is part of MinIO Object Storage stack
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+package cmd
+
+import (
+ "github.com/minio/cli"
+)
+
+var adminAccesskeyRemoveCmd = cli.Command{
+ Name: "remove",
+ ShortName: "rm",
+ Usage: "delete access key pairs for builtin users",
+ Action: mainAdminAccesskeyRemove,
+ Before: setGlobalsFromContext,
+ Flags: globalFlags,
+ OnUsageError: onUsageError,
+ CustomHelpTemplate: `NAME:
+ {{.HelpName}} - {{.Usage}}
+
+USAGE:
+ {{.HelpName}} [FLAGS] TARGET ACCESSKEY
+
+FLAGS:
+ {{range .VisibleFlags}}{{.}}
+ {{end}}
+EXAMPLES:
+ 1. Remove the access key "testkey" from local server
+ {{.Prompt}} {{.HelpName}} local/ testkey
+ `,
+}
+
+func mainAdminAccesskeyRemove(ctx *cli.Context) error {
+ return commonAccesskeyRemove(ctx)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/admin-accesskey.go new/minio-client-20241008T093726Z/cmd/admin-accesskey.go
--- old/minio-client-20241002T082728Z/cmd/admin-accesskey.go 1970-01-01 01:00:00.000000000 +0100
+++ new/minio-client-20241008T093726Z/cmd/admin-accesskey.go 2024-10-08 11:37:26.000000000 +0200
@@ -0,0 +1,45 @@
+// Copyright (c) 2015-2024 MinIO, Inc.
+//
+// This file is part of MinIO Object Storage stack
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+package cmd
+
+import "github.com/minio/cli"
+
+var adminAccesskeySubcommands = []cli.Command{
+ adminAccesskeyListCmd,
+ adminAccesskeyRemoveCmd,
+ adminAccesskeyInfoCmd,
+ adminAccesskeyCreateCmd,
+ adminAccesskeyEditCmd,
+ adminAccesskeyEnableCmd,
+ adminAccesskeyDisableCmd,
+}
+
+var adminAccesskeyCmd = cli.Command{
+ Name: "accesskey",
+ Usage: "manage access keys defined in the MinIO server",
+ Action: mainAdminAccesskey,
+ Before: setGlobalsFromContext,
+ Flags: globalFlags,
+ Subcommands: adminAccesskeySubcommands,
+ HideHelpCommand: true,
+}
+
+func mainAdminAccesskey(ctx *cli.Context) error {
+ commandNotFound(ctx, adminAccesskeySubcommands)
+ return nil
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/admin-main.go new/minio-client-20241008T093726Z/cmd/admin-main.go
--- old/minio-client-20241002T082728Z/cmd/admin-main.go 2024-10-02 10:27:28.000000000 +0200
+++ new/minio-client-20241008T093726Z/cmd/admin-main.go 2024-10-08 11:37:26.000000000 +0200
@@ -56,6 +56,7 @@
adminClusterCmd,
adminRebalanceCmd,
adminLogsCmd,
+ adminAccesskeyCmd,
}
var adminCmd = cli.Command{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/admin-policy-attach.go new/minio-client-20241008T093726Z/cmd/admin-policy-attach.go
--- old/minio-client-20241002T082728Z/cmd/admin-policy-attach.go 2024-10-02 10:27:28.000000000 +0200
+++ new/minio-client-20241008T093726Z/cmd/admin-policy-attach.go 2024-10-08 11:37:26.000000000 +0200
@@ -23,6 +23,10 @@
"github.com/minio/mc/pkg/probe"
)
+const (
+ errCodeChangeAlreadyApplied = "XMinioAdminPolicyChangeAlreadyApplied"
+)
+
var adminAttachPolicyFlags = []cli.Flag{
cli.StringFlag{
Name: "user, u",
@@ -97,7 +101,10 @@
} else {
res, e = client.DetachPolicy(globalContext, req)
}
- fatalIf(probe.NewError(e), "Unable to make user/group policy association")
+
+ if e != nil && madmin.ToErrorResponse(e).Code != errCodeChangeAlreadyApplied {
+ fatalIf(probe.NewError(e), "Unable to make user/group policy association")
+ }
var emptyResp madmin.PolicyAssociationResp
if res.UpdatedAt == emptyResp.UpdatedAt {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/auto-complete.go new/minio-client-20241008T093726Z/cmd/auto-complete.go
--- old/minio-client-20241002T082728Z/cmd/auto-complete.go 2024-10-02 10:27:28.000000000 +0200
+++ new/minio-client-20241008T093726Z/cmd/auto-complete.go 2024-10-08 11:37:26.000000000 +0200
@@ -392,6 +392,16 @@
"/idp/ldap/accesskey/enable": aliasCompleter,
"/idp/ldap/accesskey/disable": aliasCompleter,
+ "/admin/accesskey/create": aliasCompleter,
+ "/admin/accesskey/list": aliasCompleter,
+ "/admin/accesskey/ls": aliasCompleter,
+ "/admin/accesskey/remove": aliasCompleter,
+ "/admin/accesskey/rm": aliasCompleter,
+ "/admin/accesskey/info": aliasCompleter,
+ "/admin/accesskey/edit": aliasCompleter,
+ "/admin/accesskey/enable": aliasCompleter,
+ "/admin/accesskey/disable": aliasCompleter,
+
"/admin/policy/info": aliasCompleter,
"/admin/policy/update": aliasCompleter,
"/admin/policy/add": aliasCompleter,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/idp-ldap-accesskey-create.go new/minio-client-20241008T093726Z/cmd/idp-ldap-accesskey-create.go
--- old/minio-client-20241002T082728Z/cmd/idp-ldap-accesskey-create.go 2024-10-02 10:27:28.000000000 +0200
+++ new/minio-client-20241008T093726Z/cmd/idp-ldap-accesskey-create.go 2024-10-08 11:37:26.000000000 +0200
@@ -98,6 +98,10 @@
}
func mainIDPLdapAccesskeyCreate(ctx *cli.Context) error {
+ return commonAccesskeyCreate(ctx, true)
+}
+
+func commonAccesskeyCreate(ctx *cli.Context, ldap bool) error {
if len(ctx.Args()) == 0 || len(ctx.Args()) > 2 {
showCommandHelpAndExit(ctx, 1) // last argument is exit code
}
@@ -114,7 +118,13 @@
client, err := newAdminClient(aliasedURL)
fatalIf(err, "Unable to initialize admin connection.")
- res, e := client.AddServiceAccountLDAP(globalContext, opts)
+ var res madmin.Credentials
+ var e error
+ if ldap {
+ res, e = client.AddServiceAccountLDAP(globalContext, opts)
+ } else {
+ res, e = client.AddServiceAccount(globalContext, opts)
+ }
fatalIf(probe.NewError(e), "Unable to add service account.")
m := ldapAccesskeyMessage{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/idp-ldap-accesskey-edit.go new/minio-client-20241008T093726Z/cmd/idp-ldap-accesskey-edit.go
--- old/minio-client-20241002T082728Z/cmd/idp-ldap-accesskey-edit.go 2024-10-02 10:27:28.000000000 +0200
+++ new/minio-client-20241008T093726Z/cmd/idp-ldap-accesskey-edit.go 2024-10-08 11:37:26.000000000 +0200
@@ -82,6 +82,10 @@
}
func mainIDPLdapAccesskeyEdit(ctx *cli.Context) error {
+ return commonAccesskeyEdit(ctx)
+}
+
+func commonAccesskeyEdit(ctx *cli.Context) error {
if len(ctx.Args()) == 0 || len(ctx.Args()) > 2 {
showCommandHelpAndExit(ctx, 1) // last argument is exit code
}
@@ -115,6 +119,10 @@
description := ctx.String("description")
expDurVal := ctx.Duration("expiry-duration")
+ if name == "" && expVal == "" && expDurVal == 0 && policyPath == "" && secretKey == "" && description == "" {
+ fatalIf(probe.NewError(errors.New("At least one property must be edited")), "invalid flags")
+ }
+
if expVal != "" && expDurVal != 0 {
fatalIf(probe.NewError(errors.New("Only one of --expiry or --expiry-duration can be specified")), "invalid flags")
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/idp-ldap-accesskey-info.go new/minio-client-20241008T093726Z/cmd/idp-ldap-accesskey-info.go
--- old/minio-client-20241002T082728Z/cmd/idp-ldap-accesskey-info.go 2024-10-02 10:27:28.000000000 +0200
+++ new/minio-client-20241008T093726Z/cmd/idp-ldap-accesskey-info.go 2024-10-08 11:37:26.000000000 +0200
@@ -120,6 +120,11 @@
}
func mainIDPLdapAccesskeyInfo(ctx *cli.Context) error {
+ return commonAccesskeyInfo(ctx)
+}
+
+// currently no difference between ldap and builtin accesskey info
+func commonAccesskeyInfo(ctx *cli.Context) error {
if len(ctx.Args()) < 2 {
showCommandHelpAndExit(ctx, 1) // last argument is exit code
}
@@ -151,9 +156,8 @@
Policy: json.RawMessage(tempRes.Policy),
Name: tempRes.Name,
Description: tempRes.Description,
- Expiration: tempRes.Expiration,
+ Expiration: nilExpiry(tempRes.Expiration),
}
-
printMsg(m)
}
} else {
@@ -167,12 +171,18 @@
Policy: json.RawMessage(res.Policy),
Name: res.Name,
Description: res.Description,
- Expiration: res.Expiration,
+ Expiration: nilExpiry(res.Expiration),
}
-
printMsg(m)
}
}
return nil
}
+
+func nilExpiry(expiry *time.Time) *time.Time {
+ if expiry != nil && expiry.Equal(timeSentinel) {
+ return nil
+ }
+ return expiry
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/idp-ldap-accesskey-list.go new/minio-client-20241008T093726Z/cmd/idp-ldap-accesskey-list.go
--- old/minio-client-20241002T082728Z/cmd/idp-ldap-accesskey-list.go 2024-10-02 10:27:28.000000000 +0200
+++ new/minio-client-20241008T093726Z/cmd/idp-ldap-accesskey-list.go 2024-10-08 11:37:26.000000000 +0200
@@ -19,12 +19,8 @@
import (
"errors"
- "strings"
- "github.com/charmbracelet/lipgloss"
- "github.com/dustin/go-humanize"
"github.com/minio/cli"
- json "github.com/minio/colorjson"
"github.com/minio/madmin-go/v3"
"github.com/minio/mc/pkg/probe"
)
@@ -70,10 +66,10 @@
{{range .VisibleFlags}}{{.}}
{{end}}
EXAMPLES:
- 1. Get list of all users and associated access keys in local server (if admin)
+ 1. Get list of all LDAP users and associated access keys in local server (if admin)
{{.Prompt}} {{.HelpName}} local/
- 2. Get list of users in local server (if admin)
+ 2. Get list of LDAP users in local server (if admin)
{{.Prompt}} {{.HelpName}} local/ --users-only
3. Get list of all users and associated temporary access keys in play server (if admin)
@@ -93,47 +89,37 @@
`,
}
-type ldapUsersList struct {
- Status string `json:"status"`
- DN string `json:"dn"`
- STSKeys []madmin.ServiceAccountInfo `json:"stsKeys"`
- ServiceAccounts []madmin.ServiceAccountInfo `json:"svcaccs"`
-}
+func mainIDPLdapAccesskeyList(ctx *cli.Context) error {
+ aliasedURL, tentativeAll, users, opts := commonAccesskeyList(ctx)
+
+ // Create a new MinIO Admin Client
+ client, err := newAdminClient(aliasedURL)
+ fatalIf(err, "Unable to initialize admin connection.")
-func (m ldapUsersList) String() string {
- labelStyle := lipgloss.NewStyle().Foreground(lipgloss.Color("#04B575"))
- o := strings.Builder{}
-
- o.WriteString(iFmt(0, "%s %s\n", labelStyle.Render("DN:"), m.DN))
- if len(m.STSKeys) > 0 || len(m.ServiceAccounts) > 0 {
- o.WriteString(iFmt(2, "%s\n", labelStyle.Render("Access Keys:")))
- }
- for _, k := range m.STSKeys {
- expiration := "never"
- if k.Expiration != nil {
- expiration = humanize.Time(*k.Expiration)
+ accessKeysMap, e := client.ListAccessKeysLDAPBulkWithOpts(globalContext, users, opts)
+ if e != nil {
+ if e.Error() == "Access Denied." && tentativeAll {
+ // retry with self
+ opts.All = false
+ accessKeysMap, e = client.ListAccessKeysLDAPBulkWithOpts(globalContext, users, opts)
}
- o.WriteString(iFmt(4, "%s, expires: %s, sts: true\n", k.AccessKey, expiration))
+ fatalIf(probe.NewError(e), "Unable to list access keys.")
}
- for _, k := range m.ServiceAccounts {
- expiration := "never"
- if k.Expiration != nil {
- expiration = humanize.Time(*k.Expiration)
+
+ for dn, accessKeys := range accessKeysMap {
+ m := userAccesskeyList{
+ Status: "success",
+ User: dn,
+ ServiceAccounts: accessKeys.ServiceAccounts,
+ STSKeys: accessKeys.STSKeys,
+ LDAP: true,
}
- o.WriteString(iFmt(4, "%s, expires: %s, sts: false\n", k.AccessKey, expiration))
+ printMsg(m)
}
-
- return o.String()
-}
-
-func (m ldapUsersList) JSON() string {
- jsonMessageBytes, e := json.MarshalIndent(m, "", " ")
- fatalIf(probe.NewError(e), "Unable to marshal into JSON.")
-
- return string(jsonMessageBytes)
+ return nil
}
-func mainIDPLdapAccesskeyList(ctx *cli.Context) error {
+func commonAccesskeyList(ctx *cli.Context) (aliasedURL string, tentativeAll bool, users []string, opts madmin.ListAccessKeysOpts) {
if len(ctx.Args()) == 0 {
showCommandHelpAndExit(ctx, 1) // last argument is exit code
}
@@ -142,18 +128,18 @@
stsOnly := ctx.Bool("temp-only")
svcaccOnly := ctx.Bool("svcacc-only")
selfFlag := ctx.Bool("self")
- allFlag := ctx.Bool("all")
+ opts.All = ctx.Bool("all")
args := ctx.Args()
- aliasedURL := args.Get(0)
- users := args.Tail()
+ aliasedURL = args.Get(0)
+ users = args.Tail()
var e error
if (usersOnly && svcaccOnly) || (usersOnly && stsOnly) || (svcaccOnly && stsOnly) {
e = errors.New("only one of --users-only, --temp-only, or --permanent-only can be specified")
- } else if selfFlag && allFlag {
+ } else if selfFlag && opts.All {
e = errors.New("only one of --self or --all can be specified")
- } else if (selfFlag || allFlag) && len(users) > 0 {
+ } else if (selfFlag || opts.All) && len(users) > 0 {
e = errors.New("user DNs cannot be specified with --self or --all")
}
fatalIf(probe.NewError(e), "Invalid flags.")
@@ -161,45 +147,21 @@
// If no users/self/all flags are specified, tentatively assume --all
// If access is denied on tentativeAll, retry with self
// This is to maintain compatibility with the previous behavior
- tentativeAll := false
- if !selfFlag && !allFlag && len(users) == 0 {
+ if !selfFlag && !opts.All && len(users) == 0 {
tentativeAll = true
- allFlag = true
+ opts.All = true
}
- var listType string
switch {
case usersOnly:
- listType = madmin.AccessKeyListUsersOnly
+ opts.ListType = madmin.AccessKeyListUsersOnly
case stsOnly:
- listType = madmin.AccessKeyListSTSOnly
+ opts.ListType = madmin.AccessKeyListSTSOnly
case svcaccOnly:
- listType = madmin.AccessKeyListSvcaccOnly
+ opts.ListType = madmin.AccessKeyListSvcaccOnly
default:
- listType = madmin.AccessKeyListAll
- }
-
- // Create a new MinIO Admin Client
- client, err := newAdminClient(aliasedURL)
- fatalIf(err, "Unable to initialize admin connection.")
-
- accessKeysMap, e := client.ListAccessKeysLDAPBulk(globalContext, users, listType, allFlag)
- if e != nil {
- if e.Error() == "Access Denied." && tentativeAll {
- // retry with self
- accessKeysMap, e = client.ListAccessKeysLDAPBulk(globalContext, users, listType, false)
- }
- fatalIf(probe.NewError(e), "Unable to list access keys.")
+ opts.ListType = madmin.AccessKeyListAll
}
- for dn, accessKeys := range accessKeysMap {
- m := ldapUsersList{
- Status: "success",
- DN: dn,
- ServiceAccounts: accessKeys.ServiceAccounts,
- STSKeys: accessKeys.STSKeys,
- }
- printMsg(m)
- }
- return nil
+ return aliasedURL, tentativeAll, users, opts
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/cmd/idp-ldap-accesskey-remove.go new/minio-client-20241008T093726Z/cmd/idp-ldap-accesskey-remove.go
--- old/minio-client-20241002T082728Z/cmd/idp-ldap-accesskey-remove.go 2024-10-02 10:27:28.000000000 +0200
+++ new/minio-client-20241008T093726Z/cmd/idp-ldap-accesskey-remove.go 2024-10-08 11:37:26.000000000 +0200
@@ -46,6 +46,11 @@
}
func mainIDPLdapAccesskeyRemove(ctx *cli.Context) error {
+ return commonAccesskeyRemove(ctx)
+}
+
+// No difference between ldap and builtin accesskey remove for now
+func commonAccesskeyRemove(ctx *cli.Context) error {
if len(ctx.Args()) != 2 {
showCommandHelpAndExit(ctx, 1) // last argument is exit code
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/minio-client-20241002T082728Z/functional-tests.sh new/minio-client-20241008T093726Z/functional-tests.sh
--- old/minio-client-20241002T082728Z/functional-tests.sh 2024-10-02 10:27:28.000000000 +0200
+++ new/minio-client-20241008T093726Z/functional-tests.sh 2024-10-08 11:37:26.000000000 +0200
@@ -967,6 +967,9 @@
# check that the user can write objects with readwrite policy
assert_success "$start_time" "${FUNCNAME[0]}" mc_cmd admin policy attach "$SERVER_ALIAS" readwrite --user="${username}"
+ # verify that re-attaching an already attached policy to a user does not result in a failure.
+ assert_success "$start_time" "${FUNCNAME[0]}" mc_cmd admin policy attach "$SERVER_ALIAS" readwrite --user="${username}"
+
# Validate that the correct policy has been added to the user
"${MC_CMD[@]}" --json admin user list "${SERVER_ALIAS}" | jq -r '.policyName' | grep --quiet "^readwrite$"
rv=$?
++++++ minio-client.obsinfo ++++++
--- /var/tmp/diff_new_pack.kg4zvb/_old 2024-10-16 23:55:05.465847311 +0200
+++ /var/tmp/diff_new_pack.kg4zvb/_new 2024-10-16 23:55:05.469847478 +0200
@@ -1,5 +1,5 @@
name: minio-client
-version: 20241002T082728Z
-mtime: 1727857648
-commit: ce0b4341521de16ae2172d42054bbe054f9c9651
+version: 20241008T093726Z
+mtime: 1728380246
+commit: cf128de2cf42e763e7bd30c6df8b749fa94e0c10
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/minio-client/vendor.tar.gz /work/SRC/openSUSE:Factory/.minio-client.new.19354/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gap-recog for openSUSE:Factory checked in at 2024-10-16 23:54:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gap-recog (Old)
and /work/SRC/openSUSE:Factory/.gap-recog.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gap-recog"
Wed Oct 16 23:54:25 2024 rev:3 rq:1208482 version:1.4.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/gap-recog/gap-recog.changes 2024-01-29 22:34:39.837711206 +0100
+++ /work/SRC/openSUSE:Factory/.gap-recog.new.19354/gap-recog.changes 2024-10-16 23:54:55.301423405 +0200
@@ -1,0 +2,10 @@
+Wed Oct 16 16:41:29 UTC 2024 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 1.4.3
+ * Stop overriding the system library function
+ ``MTX.InvariantBilinearForm`` with an old version (this was
+ meant to fix a bug in GAP but has been unnecessary for a
+ couple years, and now impedes improvements for this function
+ in GAP)
+
+-------------------------------------------------------------------
Old:
----
recog-1.4.2.tar.bz2
New:
----
_scmsync.obsinfo
build.specials.obscpio
recog-1.4.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gap-recog.spec ++++++
--- /var/tmp/diff_new_pack.fYtIJ6/_old 2024-10-16 23:54:57.489514659 +0200
+++ /var/tmp/diff_new_pack.fYtIJ6/_new 2024-10-16 23:54:57.493514826 +0200
@@ -17,7 +17,7 @@
Name: gap-recog
-Version: 1.4.2
+Version: 1.4.3
Release: 0
Summary: GAP: A collection of group recognition methods
License: GPL-3.0-or-later
++++++ _scmsync.obsinfo ++++++
mtime: 1729096926
commit: b3e8770f2d648774f09c6745a47dc7cc6e290544309dcbed994f986d05428adc
url: https://src.opensuse.org/jengelh/gap-recog
revision: master
++++++ recog-1.4.2.tar.bz2 -> recog-1.4.3.tar.bz2 ++++++
++++ 2483 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gap-grape for openSUSE:Factory checked in at 2024-10-16 23:54:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gap-grape (Old)
and /work/SRC/openSUSE:Factory/.gap-grape.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gap-grape"
Wed Oct 16 23:54:22 2024 rev:3 rq:1208481 version:4.9.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gap-grape/gap-grape.changes 2024-09-04 13:27:03.351869542 +0200
+++ /work/SRC/openSUSE:Factory/.gap-grape.new.19354/gap-grape.changes 2024-10-16 23:54:48.917157150 +0200
@@ -1,0 +2,13 @@
+Wed Oct 16 16:37:33 UTC 2024 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 4.9.2
+ * Included new functions ``IsVertexColouring`` and
+ ``GRAPE_ExactSetCover``.
+ * Made new documentation chapter ``Auxiliary Functions``,
+ currently containing documentation for ``SmallestImageSet``
+ and ``GRAPE_ExactSetCover``.
+ * Made a performance improvement for
+ ``CompleteSubgraphsOfGivenSize`` for the case when all
+ weightvectors are (0,1)-vectors of dimension greater than 1.
+
+-------------------------------------------------------------------
Old:
----
grape-4.9.1.tar.gz
New:
----
grape-4.9.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gap-grape.spec ++++++
--- /var/tmp/diff_new_pack.DDLXvI/_old 2024-10-16 23:54:51.097248070 +0200
+++ /var/tmp/diff_new_pack.DDLXvI/_new 2024-10-16 23:54:51.113248738 +0200
@@ -17,7 +17,7 @@
Name: gap-grape
-Version: 4.9.1
+Version: 4.9.2
Release: 0
Summary: GAP: GRaph Algorithms using PErmutation groups
License: GPL-2.0-or-later
++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.DDLXvI/_old 2024-10-16 23:54:51.245254243 +0200
+++ /var/tmp/diff_new_pack.DDLXvI/_new 2024-10-16 23:54:51.257254743 +0200
@@ -1,5 +1,5 @@
-mtime: 1725404969
-commit: 77e7e059e6a5f37f4c781079a473be3c72a72cd57994a2827fe2099164d46eea
+mtime: 1729096685
+commit: 09edcffc0202bb227d158016e295569f773804f3d8fff5eba7abb1139ad19ab7
url: https://src.opensuse.org/jengelh/gap-grape
revision: master
++++++ build.specials.obscpio ++++++
diff: old/*: No such file or directory
diff: new/*: No such file or directory
++++++ grape-4.9.1.tar.gz -> grape-4.9.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/CHANGES.md new/grape-4.9.2/CHANGES.md
--- old/grape-4.9.1/CHANGES.md 2024-08-30 14:31:32.000000000 +0200
+++ new/grape-4.9.2/CHANGES.md 2024-10-11 17:24:02.000000000 +0200
@@ -1,3 +1,17 @@
+Main changes from GRAPE 4.9.1 to GRAPE 4.9.2 (11 October 2024)
+--------------------------------------------------------------
+
+1. Included new functions ``IsVertexColouring`` and
+``GRAPE_ExactSetCover``.
+
+2. Made new documentation chapter ``Auxiliary Functions``,
+currently containing documentation for ``SmallestImageSet`` and
+``GRAPE_ExactSetCover``.
+
+3. Made a performance improvement for ``CompleteSubgraphsOfGivenSize``
+for the case when all weightvectors are (0,1)-vectors of dimension
+greater than 1.
+
Main changes from GRAPE 4.9.0 to GRAPE 4.9.1 (30 August 2024)
-------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/PackageInfo.g new/grape-4.9.2/PackageInfo.g
--- old/grape-4.9.1/PackageInfo.g 2024-08-30 14:31:32.000000000 +0200
+++ new/grape-4.9.2/PackageInfo.g 2024-10-11 17:24:02.000000000 +0200
@@ -10,10 +10,10 @@
## See '?Extending: Version Numbers' in GAP help for an explanation
## of valid version numbers.
-Version := "4.9.1",
+Version := "4.9.2",
## Release date of the current version in dd/mm/yyyy format.
-Date := "30/08/2024",
+Date := "11/10/2024",
## Machine readable license information (as an SPDX identifier)
License := "Apache-2.0 AND GPL-2.0-or-later",
@@ -133,7 +133,7 @@
## *Optional*: Here you can list some keyword related to the topic
## of the package.
-Keywords := ["graph","geometry","design"]
+Keywords := ["graph","design","finite geometry","clique number","chromatic number"]
));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/README.md new/grape-4.9.2/README.md
--- old/grape-4.9.1/README.md 2024-08-30 14:31:32.000000000 +0200
+++ new/grape-4.9.2/README.md 2024-10-11 17:24:02.000000000 +0200
@@ -1,5 +1,5 @@
-The GRAPE 4.9.1 Package for GAP
+The GRAPE 4.9.2 Package for GAP
===============================
GRAPE is a GAP package for computing with graphs and groups, by
@@ -26,7 +26,7 @@
Please reference your use of the GRAPE package in a published work
as follows:
-L.H. Soicher, The GRAPE package for GAP, Version 4.9.1, 2024,
+L.H. Soicher, The GRAPE package for GAP, Version 4.9.2, 2024,
<https://gap-packages.github.io/grape>.
Questions, remarks, suggestions, and issues
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/doc/auxil.tex new/grape-4.9.2/doc/auxil.tex
--- old/grape-4.9.1/doc/auxil.tex 1970-01-01 01:00:00.000000000 +0100
+++ new/grape-4.9.2/doc/auxil.tex 2024-10-11 18:17:41.000000000 +0200
@@ -0,0 +1,92 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%A auxil.tex GRAPE documentation Leonard Soicher
+%
+%
+%
+\def\GRAPE{\sf GRAPE}
+\def\nauty{\it nauty}
+\def\G{\Gamma}
+\def\Aut{{\rm Aut}\,}
+\def\x{\times}
+\Chapter{Auxiliary Functions}
+
+This chapter documents some auxiliary functions used in {\GRAPE},
+which may be of wider interest.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\Section{Steve Linton's Function SmallestImageSet}
+
+\>SmallestImageSet( <G>, <S> )
+\>SmallestImageSet( <G>, <S>, <H> )
+
+Let <G> be a permutation group on $\{1,\ldots,n\}$, and let <S>
+be a subset of $\{1,\ldots,n\}$. Then this function returns the
+lexicographically least set in the <G>-orbit of <S>, with respect to the
+action `OnSets', without explicitly computing this (possibly huge) orbit.
+
+Thus, if <C> is a list of subsets of $\{1,\ldots,n\}$ and we
+want to determine a set of (canonical) representatives for the
+distinct <G>-orbits of the elements of <C>, we can do this as
+`Set(<C>,c->SmallestImageSet(<G>,c))'.
+
+If the setwise stabilizer in <G> of <S> is known, then this should be
+given as the optional third parameter, to avoid the recomputation of
+this stabilizer.
+
+The function `SmallestImageSet' was written by Steve Linton, based
+on his algorithm described in \cite{Lin04}.
+
+\beginexample
+gap> J:=JohnsonGraph(12,5);;
+gap> OrderGraph(J);
+792
+gap> G:=J.group;;
+gap> Size(G);
+479001600
+gap> S:=[67,93,100,204,677,750];;
+gap> SmallestImageSet(G,S);
+[ 1, 2, 22, 212, 242, 446 ]
+\endexample
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\Section{Exact Set-cover}
+
+\>GRAPE_ExactSetCover( <G>, <blocks>, <n> )
+\>GRAPE_ExactSetCover( <G>, <blocks>, <n>, <H> )
+
+Suppose <n> is a non-negative integer, <G> is a permutation group
+on $\{1,\ldots,n\}$, <blocks> is a list of non-empty subsets
+of $\{1,\ldots,n\}$, and the optional parameter <H> (default:
+`Group(())') is a subgroup of <G>.
+
+Then this function returns an <H>-invariant exact
+set-cover of $\{1,\ldots,n\}$, consisting of elements from the union of
+`Orbits(<G>,<blocks>,OnSets)', if such a cover exists,
+and returns `fail' otherwise. An exact set-cover is given as a set of
+sets forming a partition of $\{1,\ldots,n\}$.
+
+\beginexample
+gap> G:=PSL(2,5);;
+gap> GRAPE_ExactSetCover(G,[[1,2,3]],6);
+fail
+gap> G:=PGL(2,5);;
+gap> GRAPE_ExactSetCover(G,[[1,2,3]],6);
+[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
+gap> n:=280;;
+gap> G:=OnePrimitiveGroup(NrMovedPoints,n,Size,604800*2);
+J_2.2
+gap> gamma:=First(GeneralizedOrbitalGraphs(G),x->VertexDegrees(x)=[135]);;
+gap> omega:=CliqueNumber(gamma);
+28
+gap> blocks:=CompleteSubgraphsOfGivenSize(ComplementGraph(gamma),n/omega,2);;
+gap> Collected(List(blocks,Length));
+[ [ 10, 2 ] ]
+gap> H:=SylowSubgroup(G,7);;
+gap> partition:=GRAPE_ExactSetCover(G,blocks,n,H);;
+gap> Collected(List(partition,Length));
+[ [ 10, 28 ] ]
+gap> Union(partition)=[1..n];
+true
+\endexample
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/doc/colour.tex new/grape-4.9.2/doc/colour.tex
--- old/grape-4.9.1/doc/colour.tex 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/doc/colour.tex 2024-10-11 18:17:41.000000000 +0200
@@ -69,6 +69,35 @@
\endexample
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\Section{IsVertexColouring}
+
+\>IsVertexColouring( <gamma>, <C> )
+\>IsVertexColouring( <gamma>, <C>, <k> )
+
+Suppose that <gamma> is a simple graph, <C> is a list of positive integers
+of length `OrderGraph(<gamma>)', and <k> is a non-negative integer
+(default: `OrderGraph(<gamma>)').
+
+Then this function returns `true' if <C> is a vertex <k>-colouring of
+<gamma>, that is, a proper vertex-colouring using at most <k>-colours (for
+which $<C>[i]$ is the colour of the $i$-th vertex), and `false' if not.
+
+See also "VertexColouring".
+
+\beginexample
+gap> gamma:=JohnsonGraph(7,3);;
+gap> C:=VertexColouring(gamma,6);;
+gap> IsVertexColouring(gamma,C);
+true
+gap> IsVertexColouring(gamma,C,7);
+true
+gap> IsVertexColouring(gamma,C,6);
+true
+gap> IsVertexColouring(gamma,C,5);
+false
+\endexample
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{MinimumVertexColouring}
\>MinimumVertexColouring( <gamma> )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/doc/grape.tex new/grape-4.9.2/doc/grape.tex
--- old/grape-4.9.1/doc/grape.tex 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/doc/grape.tex 2024-10-11 18:17:41.000000000 +0200
@@ -12,7 +12,7 @@
\Chapter{Grape}
-This manual describes the {\GRAPE} (Version~4.9.1) package for computing
+This manual describes the {\GRAPE} (Version~4.9.2) package for computing
with graphs and groups.
{\GRAPE} is primarily designed for the construction and analysis of
@@ -48,7 +48,7 @@
If you use {\GRAPE} in a published work, then please reference the
package as follows:
-L.H. Soicher, The {GRAPE} package for {GAP}, Version~4.9.1, 2024,
+L.H. Soicher, The {GRAPE} package for {GAP}, Version~4.9.2, 2024,
\URL{https://gap-packages.github.io/grape}.
For questions, remarks, suggestions, and issues, please use the issue
Binary files old/grape-4.9.1/doc/manual.dvi and new/grape-4.9.2/doc/manual.dvi differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/doc/manual.lab new/grape-4.9.2/doc/manual.lab
--- old/grape-4.9.1/doc/manual.lab 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/doc/manual.lab 2024-10-11 18:17:41.000000000 +0200
@@ -160,24 +160,27 @@
\makelabel{grape:VertexColouring}{7.1.1}
\makelabel{grape:VertexColouring}{7.1.1}
\makelabel{grape:VertexColouring}{7.1.1}
-\makelabel{grape:MinimumVertexColouring}{7.2}
-\makelabel{grape:MinimumVertexColouring}{7.2.1}
-\makelabel{grape:ChromaticNumber}{7.3}
-\makelabel{grape:ChromaticNumber}{7.3.1}
-\makelabel{grape:CompleteSubgraphs}{7.4}
-\makelabel{grape:CompleteSubgraphs}{7.4.1}
-\makelabel{grape:CompleteSubgraphs}{7.4.1}
-\makelabel{grape:CompleteSubgraphs}{7.4.1}
-\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.5}
-\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.5.1}
-\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.5.1}
-\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.5.1}
-\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.5.1}
-\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.5.1}
-\makelabel{grape:MaximumClique}{7.6}
-\makelabel{grape:MaximumClique}{7.6.1}
-\makelabel{grape:CliqueNumber}{7.7}
-\makelabel{grape:CliqueNumber}{7.7.1}
+\makelabel{grape:IsVertexColouring}{7.2}
+\makelabel{grape:IsVertexColouring}{7.2.1}
+\makelabel{grape:IsVertexColouring}{7.2.1}
+\makelabel{grape:MinimumVertexColouring}{7.3}
+\makelabel{grape:MinimumVertexColouring}{7.3.1}
+\makelabel{grape:ChromaticNumber}{7.4}
+\makelabel{grape:ChromaticNumber}{7.4.1}
+\makelabel{grape:CompleteSubgraphs}{7.5}
+\makelabel{grape:CompleteSubgraphs}{7.5.1}
+\makelabel{grape:CompleteSubgraphs}{7.5.1}
+\makelabel{grape:CompleteSubgraphs}{7.5.1}
+\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.6}
+\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.6.1}
+\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.6.1}
+\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.6.1}
+\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.6.1}
+\makelabel{grape:CompleteSubgraphsOfGivenSize}{7.6.1}
+\makelabel{grape:MaximumClique}{7.7}
+\makelabel{grape:MaximumClique}{7.7.1}
+\makelabel{grape:CliqueNumber}{7.8}
+\makelabel{grape:CliqueNumber}{7.8.1}
\makelabel{grape:Automorphism groups and isomorphism testing for graphs}{8}
\makelabel{grape:Graphs with colour-classes}{8.1}
\makelabel{grape:AutGroupGraph}{8.2}
@@ -199,10 +202,13 @@
\makelabel{grape:PartialLinearSpaces}{9.1.1}
\makelabel{grape:PartialLinearSpaces}{9.1.1}
\makelabel{grape:A research application of PartialLinearSpaces}{9.2}
-\makelabel{grape:Steve Linton's function SmallestImageSet}{10}
-\makelabel{grape:SmallestImageSet}{10.1}
+\makelabel{grape:Auxiliary Functions}{10}
+\makelabel{grape:Steve Linton's Function SmallestImageSet}{10.1}
\makelabel{grape:SmallestImageSet}{10.1.1}
\makelabel{grape:SmallestImageSet}{10.1.1}
+\makelabel{grape:Exact Set-cover}{10.2}
+\makelabel{grape:GRAPE_ExactSetCover}{10.2.1}
+\makelabel{grape:GRAPE_ExactSetCover}{10.2.1}
\makelabel{grape:Bibliography}{}
\setcitlab {BCN89}{BCN89}
\setcitlab {Cam99}{Cam99}
Binary files old/grape-4.9.1/doc/manual.pdf and new/grape-4.9.2/doc/manual.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/doc/manual.six new/grape-4.9.2/doc/manual.six
--- old/grape-4.9.1/doc/manual.six 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/doc/manual.six 2024-10-11 18:17:41.000000000 +0200
@@ -164,31 +164,34 @@
F 7.1. VertexColouring
F 7.1. VertexColouring
I 7.1. proper vertex-colouring
-S 7.2. MinimumVertexColouring
-F 7.2. MinimumVertexColouring
-I 7.2. minimum vertex-colouring
-S 7.3. ChromaticNumber
-F 7.3. ChromaticNumber
-I 7.3. chromatic number
-S 7.4. CompleteSubgraphs
-F 7.4. CompleteSubgraphs
-F 7.4. CompleteSubgraphs
-F 7.4. CompleteSubgraphs
-I 7.4. Cliques
-S 7.5. CompleteSubgraphsOfGivenSize
-F 7.5. CompleteSubgraphsOfGivenSize
-F 7.5. CompleteSubgraphsOfGivenSize
-F 7.5. CompleteSubgraphsOfGivenSize
-F 7.5. CompleteSubgraphsOfGivenSize
-F 7.5. CompleteSubgraphsOfGivenSize
-I 7.5. CliquesOfGivenSize
-S 7.6. MaximumClique
-F 7.6. MaximumClique
-I 7.6. maximum clique
-I 7.6. MaximumCompleteSubgraph
-S 7.7. CliqueNumber
-F 7.7. CliqueNumber
-I 7.7. clique number
+S 7.2. IsVertexColouring
+F 7.2. IsVertexColouring
+F 7.2. IsVertexColouring
+S 7.3. MinimumVertexColouring
+F 7.3. MinimumVertexColouring
+I 7.3. minimum vertex-colouring
+S 7.4. ChromaticNumber
+F 7.4. ChromaticNumber
+I 7.4. chromatic number
+S 7.5. CompleteSubgraphs
+F 7.5. CompleteSubgraphs
+F 7.5. CompleteSubgraphs
+F 7.5. CompleteSubgraphs
+I 7.5. Cliques
+S 7.6. CompleteSubgraphsOfGivenSize
+F 7.6. CompleteSubgraphsOfGivenSize
+F 7.6. CompleteSubgraphsOfGivenSize
+F 7.6. CompleteSubgraphsOfGivenSize
+F 7.6. CompleteSubgraphsOfGivenSize
+F 7.6. CompleteSubgraphsOfGivenSize
+I 7.6. CliquesOfGivenSize
+S 7.7. MaximumClique
+F 7.7. MaximumClique
+I 7.7. maximum clique
+I 7.7. MaximumCompleteSubgraph
+S 7.8. CliqueNumber
+F 7.8. CliqueNumber
+I 7.8. clique number
C cnauty.tex 8. Automorphism groups and isomorphism testing for graphs
S 8.1. Graphs with colour-classes
S 8.2. AutGroupGraph
@@ -210,7 +213,10 @@
F 9.1. PartialLinearSpaces
F 9.1. PartialLinearSpaces
S 9.2. A research application of PartialLinearSpaces
-C smallestim.tex 10. Steve Linton's function SmallestImageSet
-S 10.1. SmallestImageSet
+C auxil.tex 10. Auxiliary Functions
+S 10.1. Steve Linton's Function SmallestImageSet
F 10.1. SmallestImageSet
F 10.1. SmallestImageSet
+S 10.2. Exact Set-cover
+F 10.2. GRAPE_ExactSetCover
+F 10.2. GRAPE_ExactSetCover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/doc/manual.tex new/grape-4.9.2/doc/manual.tex
--- old/grape-4.9.1/doc/manual.tex 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/doc/manual.tex 2024-10-11 18:17:41.000000000 +0200
@@ -71,7 +71,7 @@
\Input{colour}
\Input{cnauty}
\Input{partlin}
-\Input{smallestim}
+\Input{auxil}
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/doc/smallestim.tex new/grape-4.9.2/doc/smallestim.tex
--- old/grape-4.9.1/doc/smallestim.tex 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/doc/smallestim.tex 1970-01-01 01:00:00.000000000 +0100
@@ -1,51 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-%A smallestim.tex GRAPE documentation Leonard Soicher
-%
-%
-%
-\def\GRAPE{\sf GRAPE}
-\def\nauty{\it nauty}
-\def\G{\Gamma}
-\def\Aut{{\rm Aut}\,}
-\def\x{\times}
-\Chapter{Steve Linton's function SmallestImageSet}
-
-This chapter documents the straightforward application of Steve Linton's
-function `SmallestImageSet' \cite{Lin04}, which is included and used
-in {\GRAPE}. The function is of use when classifying objects up to
-the action of a given permutation group $G$, when the objects can be
-represented as subsets of the permutation domain of $G$.
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\Section{SmallestImageSet}
-
-\>SmallestImageSet( <G>, <S> )
-\>SmallestImageSet( <G>, <S>, <H> )
-
-Let <G> be a permutation group on $\{1,\ldots,n\}$, and let <S>
-be a subset of $\{1,\ldots,n\}$. Then this function returns the
-lexicographically least set in the <G>-orbit of <S>, with respect to the
-action `OnSets', without explicitly computing this (possibly huge) orbit.
-
-Thus, if <C> is a list of subsets of $\{1,\ldots,n\}$ and we
-want to determine a set of (canonical) representatives for the
-distinct <G>-orbits of the elements of <C>, we can do this as
-`Set(<C>,c->SmallestImageSet(<G>,c))'.
-
-If the setwise stabilizer in <G> of <S> is known, then this should be
-given as the optional third parameter, to avoid the recomputation of
-this stabilizer.
-
-\beginexample
-gap> J:=JohnsonGraph(12,5);;
-gap> OrderGraph(J);
-792
-gap> G:=J.group;;
-gap> Size(G);
-479001600
-gap> S:=[67,93,100,204,677];;
-gap> SmallestImageSet(G,S);
-[ 1, 2, 22, 220, 453 ]
-\endexample
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/CHAP001.htm new/grape-4.9.2/htm/CHAP001.htm
--- old/grape-4.9.1/htm/CHAP001.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/CHAP001.htm 2024-10-11 18:17:41.000000000 +0200
@@ -11,7 +11,7 @@
<li> <A HREF="CHAP001.htm#SECT004">Examples of the use of GRAPE</a>
</ol><p>
<p>
-This manual describes the GRAPE (Version 4.9.1) package for computing
+This manual describes the GRAPE (Version 4.9.2) package for computing
with graphs and groups.
<p>
GRAPE is primarily designed for the construction and analysis of
@@ -47,7 +47,7 @@
If you use GRAPE in a published work, then please reference the
package as follows:
<p>
-L.H. Soicher, The GRAPE package for GAP, Version 4.9.1, 2024,
+L.H. Soicher, The GRAPE package for GAP, Version 4.9.2, 2024,
<a href="https://gap-packages.github.io/grape">https://gap-packages.github.io/grape</a>.
<p>
For questions, remarks, suggestions, and issues, please use the issue
@@ -237,5 +237,5 @@
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/CHAP002.htm new/grape-4.9.2/htm/CHAP002.htm
--- old/grape-4.9.1/htm/CHAP002.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/CHAP002.htm 2024-10-11 18:17:41.000000000 +0200
@@ -465,5 +465,5 @@
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP001.htm">Previous</a>] [<a href ="CHAP003.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/CHAP003.htm new/grape-4.9.2/htm/CHAP003.htm
--- old/grape-4.9.1/htm/CHAP003.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/CHAP003.htm 2024-10-11 18:17:41.000000000 +0200
@@ -440,5 +440,5 @@
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Previous</a>] [<a href ="CHAP004.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/CHAP004.htm new/grape-4.9.2/htm/CHAP004.htm
--- old/grape-4.9.1/htm/CHAP004.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/CHAP004.htm 2024-10-11 18:17:41.000000000 +0200
@@ -284,5 +284,5 @@
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP003.htm">Previous</a>] [<a href ="CHAP005.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/CHAP005.htm new/grape-4.9.2/htm/CHAP005.htm
--- old/grape-4.9.1/htm/CHAP005.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/CHAP005.htm 2024-10-11 18:17:41.000000000 +0200
@@ -140,7 +140,7 @@
An error is signalled if <var>indset</var> and <var>forbidden</var> have non-trivial
intersection.
<p>
-See also <a href="CHAP007.htm#SSEC004.1">CompleteSubgraphs</a> and <a href="CHAP007.htm#SSEC005.1">CompleteSubgraphsOfGivenSize</a>, which
+See also <a href="CHAP007.htm#SSEC005.1">CompleteSubgraphs</a> and <a href="CHAP007.htm#SSEC006.1">CompleteSubgraphsOfGivenSize</a>, which
can be used on the complement graph of <var>gamma</var> to look seriously for
independent sets.
<p>
@@ -151,5 +151,5 @@
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP004.htm">Previous</a>] [<a href ="CHAP006.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/CHAP006.htm new/grape-4.9.2/htm/CHAP006.htm
--- old/grape-4.9.1/htm/CHAP006.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/CHAP006.htm 2024-10-11 18:17:41.000000000 +0200
@@ -526,5 +526,5 @@
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP005.htm">Previous</a>] [<a href ="CHAP007.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/CHAP007.htm new/grape-4.9.2/htm/CHAP007.htm
--- old/grape-4.9.1/htm/CHAP007.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/CHAP007.htm 2024-10-11 18:17:41.000000000 +0200
@@ -6,12 +6,13 @@
<H3>Sections</H3>
<oL>
<li> <A HREF="CHAP007.htm#SECT001">VertexColouring</a>
-<li> <A HREF="CHAP007.htm#SECT002">MinimumVertexColouring</a>
-<li> <A HREF="CHAP007.htm#SECT003">ChromaticNumber</a>
-<li> <A HREF="CHAP007.htm#SECT004">CompleteSubgraphs</a>
-<li> <A HREF="CHAP007.htm#SECT005">CompleteSubgraphsOfGivenSize</a>
-<li> <A HREF="CHAP007.htm#SECT006">MaximumClique</a>
-<li> <A HREF="CHAP007.htm#SECT007">CliqueNumber</a>
+<li> <A HREF="CHAP007.htm#SECT002">IsVertexColouring</a>
+<li> <A HREF="CHAP007.htm#SECT003">MinimumVertexColouring</a>
+<li> <A HREF="CHAP007.htm#SECT004">ChromaticNumber</a>
+<li> <A HREF="CHAP007.htm#SECT005">CompleteSubgraphs</a>
+<li> <A HREF="CHAP007.htm#SECT006">CompleteSubgraphsOfGivenSize</a>
+<li> <A HREF="CHAP007.htm#SECT007">MaximumClique</a>
+<li> <A HREF="CHAP007.htm#SECT008">CliqueNumber</a>
</ol><p>
<p>
The following sections describe functions for (proper) vertex-colouring
@@ -75,9 +76,39 @@
</pre>
<p>
<p>
-<h2><a name="SECT002">7.2 MinimumVertexColouring</a></h2>
+<h2><a name="SECT002">7.2 IsVertexColouring</a></h2>
<p><p>
<a name = "SSEC002.1"></a>
+<li><code>IsVertexColouring( </code><var>gamma</var><code>, </code><var>C</var><code> )</code>
+<li><code>IsVertexColouring( </code><var>gamma</var><code>, </code><var>C</var><code>, </code><var>k</var><code> )</code>
+<p>
+Suppose that <var>gamma</var> is a simple graph, <var>C</var> is a list of positive integers
+of length <code>OrderGraph(</code><var>gamma</var><code>)</code>, and <var>k</var> is a non-negative integer
+(default: <code>OrderGraph(</code><var>gamma</var><code>)</code>).
+<p>
+Then this function returns <code>true</code> if <var>C</var> is a vertex <var>k</var>-colouring of
+<var>gamma</var>, that is, a proper vertex-colouring using at most <var>k</var>-colours (for
+which <var><var>C</var>[i]</var> is the colour of the <var>i</var>-th vertex), and <code>false</code> if not.
+<p>
+See also <a href="CHAP007.htm#SSEC001.1">VertexColouring</a>.
+<p>
+<pre>
+gap> gamma:=JohnsonGraph(7,3);;
+gap> C:=VertexColouring(gamma,6);;
+gap> IsVertexColouring(gamma,C);
+true
+gap> IsVertexColouring(gamma,C,7);
+true
+gap> IsVertexColouring(gamma,C,6);
+true
+gap> IsVertexColouring(gamma,C,5);
+false
+</pre>
+<p>
+<p>
+<h2><a name="SECT003">7.3 MinimumVertexColouring</a></h2>
+<p><p>
+<a name = "SSEC003.1"></a>
<li><code>MinimumVertexColouring( </code><var>gamma</var><code> )</code>
<p>
This function returns a minimum vertex-colouring <var>C</var> for the graph
@@ -107,9 +138,9 @@
</pre>
<p>
<p>
-<h2><a name="SECT003">7.3 ChromaticNumber</a></h2>
+<h2><a name="SECT004">7.4 ChromaticNumber</a></h2>
<p><p>
-<a name = "SSEC003.1"></a>
+<a name = "SSEC004.1"></a>
<li><code>ChromaticNumber( </code><var>gamma</var><code> )</code>
<p>
This function returns the chromatic number of the given graph <var>gamma</var>,
@@ -120,7 +151,7 @@
<var>gamma</var>, that is, the number of colours used in a minimum vertex-colouring
of <var>gamma</var>.
<p>
-See also <a href="CHAP007.htm#SSEC002.1">MinimumVertexColouring</a>.
+See also <a href="CHAP007.htm#SSEC003.1">MinimumVertexColouring</a>.
<p>
<pre>
gap> ChromaticNumber(JohnsonGraph(5,2));
@@ -132,9 +163,9 @@
</pre>
<p>
<p>
-<h2><a name="SECT004">7.4 CompleteSubgraphs</a></h2>
+<h2><a name="SECT005">7.5 CompleteSubgraphs</a></h2>
<p><p>
-<a name = "SSEC004.1"></a>
+<a name = "SSEC005.1"></a>
<li><code>CompleteSubgraphs( </code><var>gamma</var><code> )</code>
<li><code>CompleteSubgraphs( </code><var>gamma</var><code>, </code><var>k</var><code> )</code>
<li><code>CompleteSubgraphs( </code><var>gamma</var><code>, </code><var>k</var><code>, </code><var>alls</var><code> )</code>
@@ -185,7 +216,7 @@
<a name = "I4"></a>
<p>
-See also <a href="CHAP007.htm#SSEC005.1">CompleteSubgraphsOfGivenSize</a>.
+See also <a href="CHAP007.htm#SSEC006.1">CompleteSubgraphsOfGivenSize</a>.
<p>
<pre>
gap> gamma := JohnsonGraph(5,2);
@@ -204,9 +235,9 @@
</pre>
<p>
<p>
-<h2><a name="SECT005">7.5 CompleteSubgraphsOfGivenSize</a></h2>
+<h2><a name="SECT006">7.6 CompleteSubgraphsOfGivenSize</a></h2>
<p><p>
-<a name = "SSEC005.1"></a>
+<a name = "SSEC006.1"></a>
<li><code>CompleteSubgraphsOfGivenSize( </code><var>gamma</var><code>, </code><var>k</var><code> )</code>
<li><code>CompleteSubgraphsOfGivenSize( </code><var>gamma</var><code>, </code><var>k</var><code>, </code><var>alls</var><code> )</code>
<li><code>CompleteSubgraphsOfGivenSize( </code><var>gamma</var><code>, </code><var>k</var><code>, </code><var>alls</var><code>, </code><var>maxi</var><code> )</code>
@@ -296,7 +327,7 @@
<a name = "I5"></a>
<p>
-See also <a href="CHAP007.htm#SSEC004.1">CompleteSubgraphs</a>.
+See also <a href="CHAP007.htm#SSEC005.1">CompleteSubgraphs</a>.
<p>
<pre>
gap> gamma:=JohnsonGraph(6,2);
@@ -326,9 +357,9 @@
[ 13, 14 ] ]
</pre>
<p>
-<h2><a name="SECT006">7.6 MaximumClique</a></h2>
+<h2><a name="SECT007">7.7 MaximumClique</a></h2>
<p><p>
-<a name = "SSEC006.1"></a>
+<a name = "SSEC007.1"></a>
<li><code>MaximumClique( </code><var>gamma</var><code> )</code>
<p>
This function returns a maximum clique of the graph <var>gamma</var>, which must
@@ -343,7 +374,7 @@
<a name = "I7"></a>
<p>
-See also <a href="CHAP007.htm#SSEC005.1">CompleteSubgraphsOfGivenSize</a>.
+See also <a href="CHAP007.htm#SSEC006.1">CompleteSubgraphsOfGivenSize</a>.
<p>
<pre>
gap> J:=JohnsonGraph(5,2);
@@ -358,9 +389,9 @@
</pre>
<p>
<p>
-<h2><a name="SECT007">7.7 CliqueNumber</a></h2>
+<h2><a name="SECT008">7.8 CliqueNumber</a></h2>
<p><p>
-<a name = "SSEC007.1"></a>
+<a name = "SSEC008.1"></a>
<li><code>CliqueNumber( </code><var>gamma</var><code> )</code>
<p>
This function returns the clique number of the given graph <var>gamma</var>,
@@ -381,5 +412,5 @@
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP006.htm">Previous</a>] [<a href ="CHAP008.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/CHAP008.htm new/grape-4.9.2/htm/CHAP008.htm
--- old/grape-4.9.1/htm/CHAP008.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/CHAP008.htm 2024-10-11 18:17:41.000000000 +0200
@@ -287,5 +287,5 @@
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP007.htm">Previous</a>] [<a href ="CHAP009.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/CHAP009.htm new/grape-4.9.2/htm/CHAP009.htm
--- old/grape-4.9.1/htm/CHAP009.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/CHAP009.htm 2024-10-11 18:17:41.000000000 +0200
@@ -200,5 +200,5 @@
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP008.htm">Previous</a>] [<a href ="CHAP010.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/CHAP010.htm new/grape-4.9.2/htm/CHAP010.htm
--- old/grape-4.9.1/htm/CHAP010.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/CHAP010.htm 2024-10-11 18:17:41.000000000 +0200
@@ -1,21 +1,19 @@
-<html><head><title>[grape] 10 Steve Linton's function SmallestImageSet</title></head>
+<html><head><title>[grape] 10 Auxiliary Functions</title></head>
<body text="#000000" bgcolor="#ffffff">
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP009.htm">Previous</a>] [<a href = "theindex.htm">Index</a>]
-<h1>10 Steve Linton's function SmallestImageSet</h1><p>
+<h1>10 Auxiliary Functions</h1><p>
<P>
<H3>Sections</H3>
<oL>
-<li> <A HREF="CHAP010.htm#SECT001">SmallestImageSet</a>
+<li> <A HREF="CHAP010.htm#SECT001">Steve Linton's Function SmallestImageSet</a>
+<li> <A HREF="CHAP010.htm#SECT002">Exact Set-cover</a>
</ol><p>
<p>
-This chapter documents the straightforward application of Steve Linton's
-function <code>SmallestImageSet</code> <a href="biblio.htm#Lin04"><cite>Lin04</cite></a>, which is included and used
-in GRAPE. The function is of use when classifying objects up to
-the action of a given permutation group <var>G</var>, when the objects can be
-represented as subsets of the permutation domain of <var>G</var>.
+This chapter documents some auxiliary functions used in GRAPE,
+which may be of wider interest.
<p>
<p>
-<h2><a name="SECT001">10.1 SmallestImageSet</a></h2>
+<h2><a name="SECT001">10.1 Steve Linton's Function SmallestImageSet</a></h2>
<p><p>
<a name = "SSEC001.1"></a>
<li><code>SmallestImageSet( </code><var>G</var><code>, </code><var>S</var><code> )</code>
@@ -35,6 +33,9 @@
given as the optional third parameter, to avoid the recomputation of
this stabilizer.
<p>
+The function <code>SmallestImageSet</code> was written by Steve Linton, based
+on his algorithm described in <a href="biblio.htm#Lin04"><cite>Lin04</cite></a>.
+<p>
<pre>
gap> J:=JohnsonGraph(12,5);;
gap> OrderGraph(J);
@@ -42,13 +43,55 @@
gap> G:=J.group;;
gap> Size(G);
479001600
-gap> S:=[67,93,100,204,677];;
+gap> S:=[67,93,100,204,677,750];;
gap> SmallestImageSet(G,S);
-[ 1, 2, 22, 220, 453 ]
+[ 1, 2, 22, 212, 242, 446 ]
+</pre>
+<p>
+<p>
+<h2><a name="SECT002">10.2 Exact Set-cover</a></h2>
+<p><p>
+<a name = "SSEC002.1"></a>
+<li><code>GRAPE_ExactSetCover( </code><var>G</var><code>, </code><var>blocks</var><code>, </code><var>n</var><code> )</code>
+<li><code>GRAPE_ExactSetCover( </code><var>G</var><code>, </code><var>blocks</var><code>, </code><var>n</var><code>, </code><var>H</var><code> )</code>
+<p>
+Suppose <var>n</var> is a non-negative integer, <var>G</var> is a permutation group
+on <var>{1,...,n}</var>, <var>blocks</var> is a list of non-empty subsets
+of <var>{1,...,n}</var>, and the optional parameter <var>H</var> (default:
+<code>Group(())</code>) is a subgroup of <var>G</var>.
+<p>
+Then this function returns an <var>H</var>-invariant exact
+set-cover of <var>{1,...,n}</var>, consisting of elements from the union of
+<code>Orbits(</code><var>G</var><code>,</code><var>blocks</var><code>,OnSets)</code>, if such a cover exists,
+and returns <code>fail</code> otherwise. An exact set-cover is given as a set of
+sets forming a partition of <var>{1,...,n}</var>.
+<p>
+<pre>
+gap> G:=PSL(2,5);;
+gap> GRAPE_ExactSetCover(G,[[1,2,3]],6);
+fail
+gap> G:=PGL(2,5);;
+gap> GRAPE_ExactSetCover(G,[[1,2,3]],6);
+[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
+gap> n:=280;;
+gap> G:=OnePrimitiveGroup(NrMovedPoints,n,Size,604800*2);
+J_2.2
+gap> gamma:=First(GeneralizedOrbitalGraphs(G),x->VertexDegrees(x)=[135]);;
+gap> omega:=CliqueNumber(gamma);
+28
+gap> blocks:=CompleteSubgraphsOfGivenSize(ComplementGraph(gamma),n/omega,2);;
+gap> Collected(List(blocks,Length));
+[ [ 10, 2 ] ]
+gap> H:=SylowSubgroup(G,7);;
+gap> partition:=GRAPE_ExactSetCover(G,blocks,n,H);;
+gap> Collected(List(partition,Length));
+[ [ 10, 28 ] ]
+gap> Union(partition)=[1..n];
+true
</pre>
<p>
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP009.htm">Previous</a>] [<a href = "theindex.htm">Index</a>]
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/biblio.htm new/grape-4.9.2/htm/biblio.htm
--- old/grape-4.9.1/htm/biblio.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/biblio.htm 2024-10-11 18:17:41.000000000 +0200
@@ -109,5 +109,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/chapters.htm new/grape-4.9.2/htm/chapters.htm
--- old/grape-4.9.1/htm/chapters.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/chapters.htm 2024-10-11 18:17:41.000000000 +0200
@@ -14,12 +14,12 @@
<li><a href="CHAP007.htm">Vertex-Colouring and Complete Subgraphs</a>
<li><a href="CHAP008.htm">Automorphism groups and isomorphism testing for graphs</a>
<li><a href="CHAP009.htm">Partial Linear Spaces</a>
-<li><a href="CHAP010.htm">Steve Linton's function SmallestImageSet</a>
+<li><a href="CHAP010.htm">Auxiliary Functions</a>
</ol>
<ul>
<li><a href="biblio.htm">References</a>
<li><a href="theindex.htm">Index</a>
</ul><p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxA.htm new/grape-4.9.2/htm/indxA.htm
--- old/grape-4.9.1/htm/indxA.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxA.htm 2024-10-11 18:17:41.000000000 +0200
@@ -31,8 +31,9 @@
<dt>AssignVertexNames <a href="CHAP002.htm#SECT011">2.11</a> <a href="CHAP002.htm#SSEC011.1">2.11.1</a>
<dt>AutGroupGraph <a href="CHAP008.htm#SECT002">8.2</a> <a href="CHAP008.htm#SSEC002.1">8.2.1</a>
<dt>Automorphism groups and isomorphism testing for graphs <a href="CHAP008.htm">8.0</a>
+<dt>Auxiliary Functions <a href="CHAP010.htm">10.0</a>
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxB.htm new/grape-4.9.2/htm/indxB.htm
--- old/grape-4.9.1/htm/indxB.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxB.htm 2024-10-11 18:17:41.000000000 +0200
@@ -29,5 +29,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxC.htm new/grape-4.9.2/htm/indxC.htm
--- old/grape-4.9.1/htm/indxC.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxC.htm 2024-10-11 18:17:41.000000000 +0200
@@ -25,23 +25,23 @@
<a href="indxU.htm">U</A>
<a href="indxV.htm">V</A>
<dt>CayleyGraph <a href="CHAP002.htm#SECT007">2.7</a> <a href="CHAP002.htm#SSEC007.1">2.7.1</a>
-<dt>chromatic number <a href="CHAP007.htm#I3">7.3</a>
-<dt>ChromaticNumber <a href="CHAP007.htm#SECT003">7.3</a> <a href="CHAP007.htm#SSEC003.1">7.3.1</a>
-<dt>clique number <a href="CHAP007.htm#I8">7.7</a>
-<dt>CliqueNumber <a href="CHAP007.htm#SECT007">7.7</a> <a href="CHAP007.htm#SSEC007.1">7.7.1</a>
-<dt>Cliques <a href="CHAP007.htm#I4">7.4</a>
-<dt>CliquesOfGivenSize <a href="CHAP007.htm#I5">7.5</a>
+<dt>chromatic number <a href="CHAP007.htm#I3">7.4</a>
+<dt>ChromaticNumber <a href="CHAP007.htm#SECT004">7.4</a> <a href="CHAP007.htm#SSEC004.1">7.4.1</a>
+<dt>clique number <a href="CHAP007.htm#I8">7.8</a>
+<dt>CliqueNumber <a href="CHAP007.htm#SECT008">7.8</a> <a href="CHAP007.htm#SSEC008.1">7.8.1</a>
+<dt>Cliques <a href="CHAP007.htm#I4">7.5</a>
+<dt>CliquesOfGivenSize <a href="CHAP007.htm#I5">7.6</a>
<dt>CollapsedAdjacencyMat <a href="CHAP004.htm#SECT005">4.5</a> <a href="CHAP004.htm#SSEC005.1">4.5.1</a>
<dt>CollapsedCompleteOrbitsGraph <a href="CHAP006.htm#SECT013">6.13</a> <a href="CHAP006.htm#SSEC013.1">6.13.1</a>
<dt>CollapsedIndependentOrbitsGraph <a href="CHAP006.htm#SECT012">6.12</a> <a href="CHAP006.htm#SSEC012.1">6.12.1</a>
<dt>ComplementGraph <a href="CHAP006.htm#SECT004">6.4</a> <a href="CHAP006.htm#SSEC004.1">6.4.1</a>
<dt>CompleteGraph <a href="CHAP002.htm#SECT004">2.4</a> <a href="CHAP002.htm#SSEC004.1">2.4.1</a>
-<dt>CompleteSubgraphs <a href="CHAP007.htm#SECT004">7.4</a> <a href="CHAP007.htm#SSEC004.1">7.4.1</a>
-<dt>CompleteSubgraphsOfGivenSize <a href="CHAP007.htm#SECT005">7.5</a> <a href="CHAP007.htm#SSEC005.1">7.5.1</a>
+<dt>CompleteSubgraphs <a href="CHAP007.htm#SECT005">7.5</a> <a href="CHAP007.htm#SSEC005.1">7.5.1</a>
+<dt>CompleteSubgraphsOfGivenSize <a href="CHAP007.htm#SECT006">7.6</a> <a href="CHAP007.htm#SSEC006.1">7.6.1</a>
<dt>ConnectedComponent <a href="CHAP005.htm#SECT001">5.1</a> <a href="CHAP005.htm#SSEC001.1">5.1.1</a>
<dt>ConnectedComponents <a href="CHAP005.htm#SECT002">5.2</a> <a href="CHAP005.htm#SSEC002.1">5.2.1</a>
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxD.htm new/grape-4.9.2/htm/indxD.htm
--- old/grape-4.9.1/htm/indxD.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxD.htm 2024-10-11 18:17:41.000000000 +0200
@@ -33,5 +33,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxE.htm new/grape-4.9.2/htm/indxE.htm
--- old/grape-4.9.1/htm/indxE.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxE.htm 2024-10-11 18:17:41.000000000 +0200
@@ -26,9 +26,10 @@
<a href="indxV.htm">V</A>
<dt>EdgeGraph <a href="CHAP006.htm#SECT006">6.6</a> <a href="CHAP006.htm#SSEC006.1">6.6.1</a>
<dt>EdgeOrbitsGraph <a href="CHAP002.htm#SECT002">2.2</a> <a href="CHAP002.htm#SSEC002.1">2.2.1</a>
+<dt>Exact Set-cover <a href="CHAP010.htm#SECT002">10.2</a>
<dt>Examples of the use of GRAPE <a href="CHAP001.htm#SECT004">1.4</a>
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxF.htm new/grape-4.9.2/htm/indxF.htm
--- old/grape-4.9.1/htm/indxF.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxF.htm 2024-10-11 18:17:41.000000000 +0200
@@ -31,5 +31,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxG.htm new/grape-4.9.2/htm/indxG.htm
--- old/grape-4.9.1/htm/indxG.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxG.htm 2024-10-11 18:17:41.000000000 +0200
@@ -30,6 +30,7 @@
<dt>Girth <a href="CHAP003.htm#SECT017">3.17</a> <a href="CHAP003.htm#SSEC017.1">3.17.1</a>
<dt>GlobalParameters <a href="CHAP004.htm#SECT003">4.3</a> <a href="CHAP004.htm#SSEC003.1">4.3.1</a>
<dt>Grape <a href="CHAP001.htm">1.0</a>
+<dt>GRAPE_ExactSetCover <a href="CHAP010.htm#SSEC002.1">10.2.1</a>
<dt>Graph <a href="CHAP002.htm#SECT001">2.1</a> <a href="CHAP002.htm#SSEC001.1">2.1.1</a>
<dt>GraphImage <a href="CHAP006.htm#SECT015">6.15</a> <a href="CHAP006.htm#SSEC015.1">6.15.1</a>
<dt>GraphIsomorphism <a href="CHAP008.htm#SECT003">8.3</a> <a href="CHAP008.htm#SSEC003.1">8.3.1</a>
@@ -38,5 +39,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxH.htm new/grape-4.9.2/htm/indxH.htm
--- old/grape-4.9.1/htm/indxH.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxH.htm 2024-10-11 18:17:41.000000000 +0200
@@ -28,5 +28,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxI.htm new/grape-4.9.2/htm/indxI.htm
--- old/grape-4.9.1/htm/indxI.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxI.htm 2024-10-11 18:17:41.000000000 +0200
@@ -39,8 +39,9 @@
<dt>IsRegularGraph <a href="CHAP004.htm#SECT001">4.1</a> <a href="CHAP004.htm#SSEC001.1">4.1.1</a>
<dt>IsSimpleGraph <a href="CHAP003.htm#SECT010">3.10</a> <a href="CHAP003.htm#SSEC010.1">3.10.1</a>
<dt>IsVertex <a href="CHAP003.htm#SECT003">3.3</a> <a href="CHAP003.htm#SSEC003.1">3.3.1</a>
+<dt>IsVertexColouring <a href="CHAP007.htm#SECT002">7.2</a> <a href="CHAP007.htm#SSEC002.1">7.2.1</a>
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxJ.htm new/grape-4.9.2/htm/indxJ.htm
--- old/grape-4.9.1/htm/indxJ.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxJ.htm 2024-10-11 18:17:41.000000000 +0200
@@ -28,5 +28,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxL.htm new/grape-4.9.2/htm/indxL.htm
--- old/grape-4.9.1/htm/indxL.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxL.htm 2024-10-11 18:17:41.000000000 +0200
@@ -30,5 +30,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxM.htm new/grape-4.9.2/htm/indxM.htm
--- old/grape-4.9.1/htm/indxM.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxM.htm 2024-10-11 18:17:41.000000000 +0200
@@ -24,13 +24,13 @@
<a href="indxT.htm">T</A>
<a href="indxU.htm">U</A>
<a href="indxV.htm">V</A>
-<dt>maximum clique <a href="CHAP007.htm#I6">7.6</a>
-<dt>MaximumClique <a href="CHAP007.htm#SECT006">7.6</a> <a href="CHAP007.htm#SSEC006.1">7.6.1</a>
-<dt>MaximumCompleteSubgraph <a href="CHAP007.htm#I7">7.6</a>
-<dt>minimum vertex-colouring <a href="CHAP007.htm#I2">7.2</a>
-<dt>MinimumVertexColouring <a href="CHAP007.htm#SECT002">7.2</a> <a href="CHAP007.htm#SSEC002.1">7.2.1</a>
+<dt>maximum clique <a href="CHAP007.htm#I6">7.7</a>
+<dt>MaximumClique <a href="CHAP007.htm#SECT007">7.7</a> <a href="CHAP007.htm#SSEC007.1">7.7.1</a>
+<dt>MaximumCompleteSubgraph <a href="CHAP007.htm#I7">7.7</a>
+<dt>minimum vertex-colouring <a href="CHAP007.htm#I2">7.3</a>
+<dt>MinimumVertexColouring <a href="CHAP007.htm#SECT003">7.3</a> <a href="CHAP007.htm#SSEC003.1">7.3.1</a>
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxN.htm new/grape-4.9.2/htm/indxN.htm
--- old/grape-4.9.1/htm/indxN.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxN.htm 2024-10-11 18:17:41.000000000 +0200
@@ -29,5 +29,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxO.htm new/grape-4.9.2/htm/indxO.htm
--- old/grape-4.9.1/htm/indxO.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxO.htm 2024-10-11 18:17:41.000000000 +0200
@@ -29,5 +29,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxP.htm new/grape-4.9.2/htm/indxP.htm
--- old/grape-4.9.1/htm/indxP.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxP.htm 2024-10-11 18:17:41.000000000 +0200
@@ -31,5 +31,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxQ.htm new/grape-4.9.2/htm/indxQ.htm
--- old/grape-4.9.1/htm/indxQ.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxQ.htm 2024-10-11 18:17:41.000000000 +0200
@@ -28,5 +28,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxR.htm new/grape-4.9.2/htm/indxR.htm
--- old/grape-4.9.1/htm/indxR.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxR.htm 2024-10-11 18:17:41.000000000 +0200
@@ -28,5 +28,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxS.htm new/grape-4.9.2/htm/indxS.htm
--- old/grape-4.9.1/htm/indxS.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxS.htm 2024-10-11 18:17:41.000000000 +0200
@@ -24,12 +24,12 @@
<a href="indxT.htm">T</A>
<a href="indxU.htm">U</A>
<a href="indxV.htm">V</A>
-<dt>SmallestImageSet <a href="CHAP010.htm#SECT001">10.1</a> <a href="CHAP010.htm#SSEC001.1">10.1.1</a>
+<dt>SmallestImageSet <a href="CHAP010.htm#SSEC001.1">10.1.1</a>
<dt>Some special vertex subsets of a graph <a href="CHAP005.htm">5.0</a>
-<dt>Steve Linton's function SmallestImageSet <a href="CHAP010.htm">10.0</a>
+<dt>Steve Linton's Function SmallestImageSet <a href="CHAP010.htm#SECT001">10.1</a>
<dt>SwitchedGraph <a href="CHAP006.htm#SECT007">6.7</a> <a href="CHAP006.htm#SSEC007.1">6.7.1</a>
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxT.htm new/grape-4.9.2/htm/indxT.htm
--- old/grape-4.9.1/htm/indxT.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxT.htm 2024-10-11 18:17:41.000000000 +0200
@@ -28,5 +28,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxU.htm new/grape-4.9.2/htm/indxU.htm
--- old/grape-4.9.1/htm/indxU.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxU.htm 2024-10-11 18:17:41.000000000 +0200
@@ -29,5 +29,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/indxV.htm new/grape-4.9.2/htm/indxV.htm
--- old/grape-4.9.1/htm/indxV.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/indxV.htm 2024-10-11 18:17:41.000000000 +0200
@@ -36,5 +36,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/htm/theindex.htm new/grape-4.9.2/htm/theindex.htm
--- old/grape-4.9.1/htm/theindex.htm 2024-08-30 15:27:18.000000000 +0200
+++ new/grape-4.9.2/htm/theindex.htm 2024-10-11 18:17:41.000000000 +0200
@@ -27,5 +27,5 @@
</dl><p>
[<a href="chapters.htm">Up</a>]<p>
<P>
-<address>grape manual<br>August 2024
+<address>grape manual<br>October 2024
</address></body></html>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/lib/grape.g new/grape-4.9.2/lib/grape.g
--- old/grape-4.9.1/lib/grape.g 2024-08-30 14:31:32.000000000 +0200
+++ new/grape-4.9.2/lib/grape.g 2024-10-11 17:24:02.000000000 +0200
@@ -1,6 +1,6 @@
##############################################################################
##
-## grape.g (Version 4.9.1) GRAPE Library Leonard Soicher
+## grape.g (Version 4.9.2) GRAPE Library Leonard Soicher
##
## Copyright (C) 1992-2024 Leonard Soicher, School of Mathematical Sciences,
## Queen Mary University of London, London E1 4NS, U.K.
@@ -1702,7 +1702,6 @@
fi;
end);
-
DeclareOperation("ConnectedComponent",[IsRecord,IsPosInt]);
InstallMethod(ConnectedComponent,"for GRAPE graph",[IsRecord,IsPosInt],0,
function(gamma,v)
@@ -2836,7 +2835,7 @@
# giving dovector the value [1..d].
#
local IsFixedPoint,HasLargerEntry,k,smallorder,smallorder1,weights,weighted,
- originalG,originalgamma,includingallmaximalreps,
+ originalG,originalgamma,includingallmaximalreps,zeroonevectorweighted,
CompleteSubgraphsSearch,K,clique,cliquenumber,chromaticnumber;
IsFixedPoint := function(G,point)
@@ -2871,7 +2870,7 @@
# gamma, each of which is given as a dense list of distinct vertex-names.
#
# The variables smallorder, smallorder1, originalG,
-# allsubs, allmaxes, weights, weightvectors, weighted,
+# allsubs, allmaxes, weights, weightvectors, weighted,
# partialcolour, dovector, IsFixedPoint, and HasLargerEntry
# are global. (originalG is the group of automorphisms
# associated with the original graph.)
@@ -2948,7 +2947,7 @@
# forbidmask is the empty set.
#
# The variables n, A, names, allmaxes, allsubs, partialcolour,
-# weights, weightvectors, weighted, dovector,
+# weights, weightvectors, weighted, zeroonevectorweighted, dovector,
# and HasLargerEntry are global.
# The parameter mask may be changed by this function, and if
# allmaxes=true then forbidmask may be changed by this function.
@@ -3082,18 +3081,22 @@
#
# Now determine doposition.
#
-# Standard heuristic:
-doposition:=First(dovector,x->kvector[x]<>0);
-#
-# # Alternative heuristic:
-# doposition:=0;
-# for i in [1..Length(kvector)] do
-# if kvector[i]<>0 then
-# if doposition=0 or nactivevector[i]<nactivevector[doposition] then
-# doposition:=i;
-# fi;
-# fi;
-# od;
+if not zeroonevectorweighted then
+ # Use the standard heuristic.
+ doposition:=First(dovector,x->kvector[x]<>0);
+else
+ # The weight-vectors have dimension > 1 and
+ # all weight-vector entries are <= 1.
+ # Use the alternative heuristic.
+ doposition:=0;
+ for i in [1..Length(kvector)] do
+ if kvector[i]<>0 then
+ if doposition=0 or nactivevector[i]<nactivevector[doposition] then
+ doposition:=i;
+ fi;
+ fi;
+ od;
+fi;
#
# Now order the vertices in active for processing.
#
@@ -3632,6 +3635,8 @@
gamma:=NewGroupGraph(gamma.autGroup,gamma);
fi;
fi;
+zeroonevectorweighted:=weightvectors<>[] and Length(weightvectors[1])>1 and
+ ForAll(weightvectors,x->ForAll(x,y->y<=1));
K:=CompleteSubgraphsSearch(gamma,kvector,[],[]);
for clique in K do
Sort(clique);
@@ -4089,6 +4094,72 @@
return Length(MaximumClique(gamma));
end);
+BindGlobal("GRAPE_ExactSetCover",function(arg)
+#
+# Let n:=arg[3] be a non-negative integer,
+# let G:=arg[1] be a permutation group on [1..n],
+# let blocks:=arg[2] be a list of non-empty subsets of [1..n],
+# and let H:=arg[4] (default: Group(())) be a subgroup of G.
+#
+# Then this function returns an H-invariant exact set-cover
+# of [1..n] by elements from Concatenation(Orbits(G,blocks,OnSets)),
+# if such a cover exists, and returns `fail' otherwise.
+#
+local G,blocks,n,H,gamma,hom,i,j,wts,K,N;
+if not Length(arg) in [3,4] then
+ Error("GRAPE_ExactSetCover should have 3 or 4 arguments");
+fi;
+n:=arg[3];
+if not IsInt(n) and n>=0 then
+ Error("<n> must be a non-negative integer");
+fi;
+G:=arg[1];
+if not (IsPermGroup(G) and LargestMovedPoint(G)<=n) then
+ Error("<G> must be a permutation group on [1..<n>]");
+fi;
+blocks:=arg[2];
+if not IsList(blocks) and
+ ForAll(blocks,x->IsSet(x) and x<>[] and IsSubset([1..n],x)) then
+ Error("<blocks> must be a list of non-empty subsets of [1..<n>]");
+fi;
+if IsBound(arg[4]) then
+ H:=arg[4];
+ if not IsSubgroup(G,H) then
+ Error("<H> must be a subgroup of <G>");
+ fi;
+else
+ H:=Group(());
+fi;
+if n=0 then
+ return [];
+elif blocks=[] then
+ return fail;
+fi;
+gamma:=Graph(G,blocks,OnSets,function(x,y) return Intersection(x,y)=[]; end);
+if Size(H)>1 then
+ hom:=ActionHomomorphism(G,VertexNames(gamma),OnSets);
+ N:=Image(hom,Normalizer(G,H));
+ H:=Image(hom,H);
+ gamma:=CollapsedCompleteOrbitsGraph(H,gamma,N);
+else
+ AssignVertexNames(gamma,List(VertexNames(gamma),x->[x]));
+fi;
+wts:=[];
+for i in [1..gamma.order] do
+ wts[i]:=ListWithIdenticalEntries(n,0);
+ for j in Concatenation(gamma.names[i]) do
+ wts[i][j]:=1;
+ od;
+od;
+K:=CompleteSubgraphsOfGivenSize(gamma,ListWithIdenticalEntries(n,1),
+ 0,true,true,wts);
+if K=[] then
+ return fail;
+else
+ return Union(gamma.names{K[1]});
+fi;
+end);
+
BindGlobal("GRAPE_CliqueCovering",function(arg)
#
# Let gamma:=arg[1] be a simple graph and let k:=arg[2] be
@@ -4137,8 +4208,7 @@
# In addition, we assume that on the initial call to this recursive function
# that m is an integer and delta.names=[1..delta.order].
#
-local m,C,CC,c,d,t,s,cov,newdelta,D,K,A,translation,wts,i,j,
- exclude,eps,dtranslation;
+local m,C,CC,c,d,t,s,cov,newdelta,K,A,translation,i,exclude,eps,dtranslation;
if IsInt(start) then
m:=start;
else
@@ -4213,20 +4283,11 @@
fi;
if s*k=delta.order and Size(delta.group)<=smallorder then
# Use exact cover.
- D:=Graph(delta.group,C,OnSets,
- function(x,y) return Intersection(x,y)=[]; end);
- wts:=List([1..D.order],x->ListWithIdenticalEntries(delta.order,0));
- for i in [1..D.order] do
- for j in D.names[i] do
- wts[i][j]:=1;
- od;
- od;
- K:=CompleteSubgraphsOfGivenSize(D,
- ListWithIdenticalEntries(delta.order,1),0,true,true,wts);
- if K=[] then
+ K:=GRAPE_ExactSetCover(delta.group,C,delta.order);
+ if K=fail then
return fail;
else
- return List(K[1],x->delta.names{D.names[x]});
+ return List(K,x->delta.names{x});
fi;
elif not IsTrivial(delta.group) then
C:=Set(C,x->SmallestImageSet(delta.group,x));
@@ -4317,24 +4378,59 @@
Sort(c);
od;
Sort(cov);
-#
-# Check.
-#
-if not IsSet(cov)
- or Length(cov)>k
- or not ForAll(cov,x->x<>[] and IsSet(x))
- or Union(cov)<>Vertices(gamma)
- or Sum(List(cov,Length))<>gamma.order
- or not ForAll(cov,x->IsCompleteGraph(InducedSubgraph(gamma,x))) then
- # This should never happen.
- Error("BUG: returned cov is not a clique k-covering given as a set of pairwise disjoint non-empty cliques");
-fi;
-#
-# End of check.
-#
return cov;
end);
+BindGlobal("IsVertexColouring",function(arg)
+#
+# Let gamma:=arg[1] be a simple graph, let C:=arg[2] be a list of
+# positive integers of length OrderGraph(gamma), and let k:=arg[3]
+# be a non-negative integer (default: Length(C)).
+#
+# Then this function returns true if C is a vertex k-colouring
+# of gamma, and returns false if not. (The list C is a vertex
+# k-colouring of gamma iff C[v]<>C[w] whenever [v,w] is an edge of
+# gamma, and the number of distinct elements of C (the colours) is
+# at most k. A proper vertex-colouring of gamma is the same thing
+# as a vertex OrderGraph(gamma)-colouring of gamma.)
+#
+local gamma,C,k,v,w;
+if not Length(arg) in [2,3] then
+ Error("IsVertexColouring should have 2 or 3 arguments");
+fi;
+gamma:=arg[1];
+if not IsSimpleGraph(gamma) then
+ Error("<gamma> must be a simple graph");
+fi;
+C:=arg[2];
+if not (IsList(C) and Length(C)=OrderGraph(gamma) and ForAll(C,IsPosInt)) then
+ Error("<C> must be a list of length OrderGraph(<gamma>) of positive integers");
+fi;
+if IsBound(arg[3]) then
+ k:=arg[3];
+ if not (IsInt(k) and k>=0) then
+ Error("<k> must be a non-negative integer");
+ fi;
+else
+ k:=OrderGraph(gamma);
+fi;
+if Length(Set(C))>k then
+ # too many colours
+ return false;
+fi;
+for v in Vertices(gamma) do
+ for w in Adjacency(gamma,v) do
+ if v<w then
+ if C[v]=C[w] then
+ # The adjacent vertices v and w have the same colour.
+ return false;
+ fi;
+ fi;
+ od;
+od;
+return true;
+end);
+
BindGlobal("VertexColouring",function(arg)
#
# Let gamma:=arg[1] be a simple graph. Then this function returns
@@ -4466,7 +4562,11 @@
fi;
od;
if maxcolour<=k then
- # C is a k-colouring.
+ # C is a vertex k-colouring of gamma.
+ if not IsVertexColouring(gamma,C,k) then
+ # This should not happen!
+ Error("BUG: <C> should be a (proper) vertex <k>-colouring of <gamma>");
+ fi;
if IsBound(gamma.maximumClique) and Length(gamma.maximumClique)=Length(Set(C)) then
# C is a minimum vertex-colouring of gamma.
gamma.minimumVertexColouring:=Immutable(C);
@@ -4489,6 +4589,10 @@
C[j]:=i;
od;
od;
+if not IsVertexColouring(gamma,C,k) then
+ # This should not happen!
+ Error("BUG: <C> should be a (proper) vertex <k>-colouring of <gamma>");
+fi;
if IsBound(gamma.maximumClique) and Length(gamma.maximumClique)=Length(Set(C)) then
# C is a minimum vertex-colouring of gamma.
gamma.minimumVertexColouring:=Immutable(C);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/grape-4.9.1/tst/testall.tst new/grape-4.9.2/tst/testall.tst
--- old/grape-4.9.1/tst/testall.tst 2024-08-30 14:31:32.000000000 +0200
+++ new/grape-4.9.2/tst/testall.tst 2024-10-11 17:24:02.000000000 +0200
@@ -24,15 +24,6 @@
# loaded)
gap> LoadPackage("grape",false);
true
-gap> J:=JohnsonGraph(12,5);;
-gap> OrderGraph(J);
-792
-gap> G:=J.group;;
-gap> Size(G);
-479001600
-gap> S:=[67,93,100,204,677];;
-gap> SmallestImageSet(G,S);
-[ 1, 2, 22, 220, 453 ]
gap> P := Graph( SymmetricGroup(5), [[1,2]], OnSets,
> function(x,y) return Intersection(x,y)=[]; end );;
gap> Diameter(P);
@@ -460,6 +451,46 @@
> colourClasses:=[[1],[6],[2,3,4,5,7,8,9,10]]) ] );;
gap> Length(R);
3
+gap> J:=JohnsonGraph(12,5);;
+gap> OrderGraph(J);
+792
+gap> G:=J.group;;
+gap> Size(G);
+479001600
+gap> S:=[67,93,100,204,677,750];;
+gap> SmallestImageSet(G,S);
+[ 1, 2, 22, 212, 242, 446 ]
+gap> G:=PSL(2,5);;
+gap> GRAPE_ExactSetCover(G,[[1,2,3]],6);
+fail
+gap> G:=PGL(2,5);;
+gap> GRAPE_ExactSetCover(G,[[1,2,3]],6);
+[ [ 1, 2, 3 ], [ 4, 5, 6 ] ]
+gap> n:=280;;
+gap> G:=OnePrimitiveGroup(NrMovedPoints,n,Size,604800*2);
+J_2.2
+gap> gamma:=First(GeneralizedOrbitalGraphs(G),x->VertexDegrees(x)=[135]);;
+gap> omega:=CliqueNumber(gamma);
+28
+gap> blocks:=CompleteSubgraphsOfGivenSize(ComplementGraph(gamma),n/omega,2);;
+gap> Collected(List(blocks,Length));
+[ [ 10, 2 ] ]
+gap> H:=SylowSubgroup(G,7);;
+gap> partition:=GRAPE_ExactSetCover(G,blocks,n,H);;
+gap> Collected(List(partition,Length));
+[ [ 10, 28 ] ]
+gap> Union(partition)=[1..n];
+true
+gap> gamma:=JohnsonGraph(7,3);;
+gap> C:=VertexColouring(gamma,6);;
+gap> IsVertexColouring(gamma,C);
+true
+gap> IsVertexColouring(gamma,C,7);
+true
+gap> IsVertexColouring(gamma,C,6);
+true
+gap> IsVertexColouring(gamma,C,5);
+false
gap> GRAPE_DREADNAUT_INPUT_USE_STRING:=not GRAPE_DREADNAUT_INPUT_USE_STRING;;
gap> #
gap> # Now repeat certain tests.
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ansible-runner for openSUSE:Factory checked in at 2024-10-16 23:53:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ansible-runner (Old)
and /work/SRC/openSUSE:Factory/.ansible-runner.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ansible-runner"
Wed Oct 16 23:53:44 2024 rev:13 rq:1208434 version:2.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ansible-runner/ansible-runner.changes 2024-09-18 15:29:15.454778978 +0200
+++ /work/SRC/openSUSE:Factory/.ansible-runner.new.19354/ansible-runner.changes 2024-10-16 23:54:12.643644366 +0200
@@ -1,0 +2,5 @@
+Wed Oct 16 11:19:09 UTC 2024 - Johannes Kastl <opensuse_buildservice(a)ojkastl.de>
+
+- fix checks
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ansible-runner.spec ++++++
--- /var/tmp/diff_new_pack.X5L5g9/_old 2024-10-16 23:54:13.623685238 +0200
+++ /var/tmp/diff_new_pack.X5L5g9/_new 2024-10-16 23:54:13.623685238 +0200
@@ -55,10 +55,12 @@
# importlib-metadata not required, as we are using python3.10 or higher
# SECTION test requirements
# https://github.com/ansible/ansible-runner/blob/devel/test/requirements.txt
+BuildRequires: %{ansible_python}-mypy
BuildRequires: %{ansible_python}-pytest
BuildRequires: %{ansible_python}-pytest-mock
BuildRequires: %{ansible_python}-pytest-timeout
BuildRequires: %{ansible_python}-pytest-xdist
+BuildRequires: %{ansible_python}-types-PyYAML
# /SECTION
BuildRequires: fdupes
# https://github.com/ansible/ansible-runner/blob/devel/setup.cfg#L32
@@ -96,6 +98,7 @@
# flaky tests
IGNORED_TESTS+='test_run_command_long_running or '
IGNORED_TESTS+='test_run_command_long_running_children or '
+IGNORED_TESTS+='test_password_prompt or '
IGNORED_TESTS+='test_get_role_list'
export PATH=%{buildroot}%{_bindir}:$PATH
%pytest -n auto -k "not ($IGNORED_TESTS)"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rspamd for openSUSE:Factory checked in at 2024-10-16 23:53:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rspamd (Old)
and /work/SRC/openSUSE:Factory/.rspamd.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rspamd"
Wed Oct 16 23:53:38 2024 rev:30 rq:1208437 version:3.10.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/rspamd/rspamd.changes 2024-10-02 21:35:00.506432355 +0200
+++ /work/SRC/openSUSE:Factory/.rspamd.new.19354/rspamd.changes 2024-10-16 23:54:07.871445341 +0200
@@ -1,0 +2,18 @@
+Wed Oct 16 11:09:33 UTC 2024 - Marcus Rueckert <mrueckert(a)suse.de>
+
+- Update to 3.10.1
+ - [Fix] Use correct type for keylen in lua_ucl_newindex by
+ @arkamar in #5169
+ - Update hiredis library removing all hacks by @vstakhov in #5167
+ - Remove proxy from url_redirector.conf as it not the option by
+ @dragoangel in #5164
+ - chore(publicsuffix): update effective_tld_names.dat by @wdhdev
+ in #5176
+ - [Fix] Avoid null-bytes in Log-Tag header value by @smarsching
+ in #5179
+ - [Fix] Do not abort when OpenSSL is broken, report that to a
+ user by @vstakhov in #5188
+ - Some build fixes by @vstakhov in #5189
+ - Some more fixes by @vstakhov in #5190
+
+-------------------------------------------------------------------
Old:
----
rspamd-3.10.0.tar.gz
New:
----
rspamd-3.10.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rspamd.spec ++++++
--- /var/tmp/diff_new_pack.pU2UQE/_old 2024-10-16 23:54:08.819484879 +0200
+++ /var/tmp/diff_new_pack.pU2UQE/_new 2024-10-16 23:54:08.823485045 +0200
@@ -60,7 +60,7 @@
%endif
Name: rspamd
-Version: 3.10.0
+Version: 3.10.1
Release: 0
Summary: Spam filtering system
License: Apache-2.0
@@ -333,6 +333,7 @@
%defattr(-,root,root)
%{_sbindir}/rc%{name}
%{_bindir}/rspamd
+%{_bindir}/rspamd-%{version}
%{_bindir}/rspamd_stats
%{_libdir}/librspamd-actrie.so
%{_libdir}/librspamd-server.so
@@ -669,6 +670,7 @@
%dir %attr(750,%{rspamd_user},%{rspamd_group}) %{_localstatedir}/lib/rspamd
%dir %attr(750,%{rspamd_user},%{rspamd_group}) %{_localstatedir}/log/rspamd
+%dir /srv/www
%dir %{_wwwdir}
%dir %{_wwwdir}/%{name}
%{_wwwdir}/%{name}/apple-touch-icon.png
@@ -717,5 +719,7 @@
%{_mandir}/man1/rspamadm.1*
%{_mandir}/man1/rspamc.1*
%{_bindir}/rspamadm
+%{_bindir}/rspamadm-%{version}
%{_bindir}/rspamc
+%{_bindir}/rspamc-%{version}
++++++ rspamd-3.10.0.tar.gz -> rspamd-3.10.1.tar.gz ++++++
++++ 11914 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package tempo-cli for openSUSE:Factory checked in at 2024-10-16 23:53:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tempo-cli (Old)
and /work/SRC/openSUSE:Factory/.tempo-cli.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tempo-cli"
Wed Oct 16 23:53:26 2024 rev:4 rq:1208388 version:2.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/tempo-cli/tempo-cli.changes 2024-09-16 17:43:17.797604677 +0200
+++ /work/SRC/openSUSE:Factory/.tempo-cli.new.19354/tempo-cli.changes 2024-10-16 23:54:00.843152227 +0200
@@ -1,0 +2,30 @@
+Wed Oct 16 08:40:39 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 2.6.1:
+ * tempo-query: register gRPC health server (#4178) (#4186)
+ * [release-v2.6] Support Tempo on IBM s390x (#4185)
+ * fix: bring back content-type header (#4123) (#4184)
+ * tempo-query: separate tls settings for server and client
+ (#4177) (#4183)
+ * [release-v2.6] docs: Add EKS Pod Identity as supported (#4174)
+ * Backport tempo-query changes to 2.6 (#4170)
+ * [release-v2.6] [DOC] Fix broken links in Alloy docs (#4169)
+ * [release-v2.6] [DOC] Update statement for metrics-generator for
+ Cloud (#4164)
+ * [release-v2.6] Fix typo in gcs configuration comment (#4150)
+ * [release-v2.6] Fixed a small typo in Tempo set up documentation
+ (#4145)
+ * [release-v2.6] [DOC] Add other attributes to trace structure
+ doc (#4108)
+ * [release-v2.6] Update and remove old images in Linux set up doc
+ (#4071)
+ * [release-v2.6] docs: Getting started sandbox (#4070)
+ * [release-v2.6] Add blog post links to rel notes (#4059)
+ * [release-v2.6] [DOC] TraceQL, metrics-gen, and overrides doc
+ updates for 2.6 (#4054)
+ * Use canonical centering an image example (#4043) (#4051)
+ * [release-v2.6] [DOC] Release notes for 2.6 (#4050)
+ * [release-v2.6] [DOC] Convert monitor, troubleshoot, set up test
+ app to Alloy (#4049)
+
+-------------------------------------------------------------------
Old:
----
tempo-cli-2.6.0.obscpio
New:
----
tempo-cli-2.6.1.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tempo-cli.spec ++++++
--- /var/tmp/diff_new_pack.L5kciR/_old 2024-10-16 23:54:04.759315551 +0200
+++ /var/tmp/diff_new_pack.L5kciR/_new 2024-10-16 23:54:04.763315717 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: tempo-cli
-Version: 2.6.0
+Version: 2.6.1
Release: 0
Summary: CLI for the Grafana Tempo tracing backend
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.L5kciR/_old 2024-10-16 23:54:04.823318219 +0200
+++ /var/tmp/diff_new_pack.L5kciR/_new 2024-10-16 23:54:04.827318386 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/grafana/tempo</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v2.6.0</param>
+ <param name="revision">v2.6.1</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.L5kciR/_old 2024-10-16 23:54:04.843319054 +0200
+++ /var/tmp/diff_new_pack.L5kciR/_new 2024-10-16 23:54:04.847319221 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/grafana/tempo</param>
- <param name="changesrevision">e85bbc57de52cc9044bc0911de0d1afe5d1fbe07</param></service></servicedata>
+ <param name="changesrevision">24c5b553df91cead5e3afc63e79a5f4deb702b62</param></service></servicedata>
(No newline at EOF)
++++++ tempo-cli-2.6.0.obscpio -> tempo-cli-2.6.1.obscpio ++++++
/work/SRC/openSUSE:Factory/tempo-cli/tempo-cli-2.6.0.obscpio /work/SRC/openSUSE:Factory/.tempo-cli.new.19354/tempo-cli-2.6.1.obscpio differ: char 48, line 1
++++++ tempo-cli.obsinfo ++++++
--- /var/tmp/diff_new_pack.L5kciR/_old 2024-10-16 23:54:04.903321557 +0200
+++ /var/tmp/diff_new_pack.L5kciR/_new 2024-10-16 23:54:04.911321890 +0200
@@ -1,5 +1,5 @@
name: tempo-cli
-version: 2.6.0
-mtime: 1725055230
-commit: e85bbc57de52cc9044bc0911de0d1afe5d1fbe07
+version: 2.6.1
+mtime: 1729003883
+commit: 24c5b553df91cead5e3afc63e79a5f4deb702b62
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/tempo-cli/vendor.tar.gz /work/SRC/openSUSE:Factory/.tempo-cli.new.19354/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package wildmidi for openSUSE:Factory checked in at 2024-10-16 23:53:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wildmidi (Old)
and /work/SRC/openSUSE:Factory/.wildmidi.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wildmidi"
Wed Oct 16 23:53:09 2024 rev:5 rq:1208397 version:0.4.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/wildmidi/wildmidi.changes 2024-04-19 19:26:01.433519361 +0200
+++ /work/SRC/openSUSE:Factory/.wildmidi.new.19354/wildmidi.changes 2024-10-16 23:53:48.318629893 +0200
@@ -1,0 +2,5 @@
+Tue Oct 15 18:34:21 UTC 2024 - Martin Hauke <mardnh(a)gmx.de>
+
+- Add baselibs.conf
+
+-------------------------------------------------------------------
New:
----
baselibs.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wildmidi.spec ++++++
--- /var/tmp/diff_new_pack.7s8zkh/_old 2024-10-16 23:53:49.558681609 +0200
+++ /var/tmp/diff_new_pack.7s8zkh/_new 2024-10-16 23:53:49.558681609 +0200
@@ -28,6 +28,7 @@
URL: https://www.mindwerks.net/projects/wildmidi
Source: https://github.com/Mindwerks/wildmidi/archive/%{name}-%{version}.tar.gz
Source1: %{name}.cfg
+Source98: baselibs.conf
BuildRequires: cmake >= 3.1
BuildRequires: dos2unix
BuildRequires: pkgconfig
++++++ baselibs.conf ++++++
libWildMidi2
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package helmfile for openSUSE:Factory checked in at 2024-10-16 23:53:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/helmfile (Old)
and /work/SRC/openSUSE:Factory/.helmfile.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "helmfile"
Wed Oct 16 23:53:01 2024 rev:60 rq:1208393 version:0.169.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/helmfile/helmfile.changes 2024-09-13 14:37:23.867512444 +0200
+++ /work/SRC/openSUSE:Factory/.helmfile.new.19354/helmfile.changes 2024-10-16 23:53:43.366423361 +0200
@@ -1,0 +2,46 @@
+Wed Oct 16 08:38:57 UTC 2024 - Manfred Hollstein <manfred.h(a)gmx.net>
+
+- Update to version 0.169.0:
+ * Add comment withPreparedCharts by @mumoshu in #1704
+ * build(deps): bump k8s.io/apimachinery from 0.31.0 to 0.31.1
+ by @dependabot in #1705
+ * build(deps): bump helm.sh/helm/v3 from 3.15.4 to 3.16.1 by
+ @dependabot in #1707
+ * bump all helm to 3.16.1 by @yxxhero in #1708
+ * add zhaque44 in CODEOWNERS by @yxxhero in #1711
+ * Add hide notes support by @yxxhero in #1710
+ * update python3 version for mkdoc.yaml by @zhaque44 in #1712
+ * build(deps): bump dario.cat/mergo from 0.3.16 to 1.0.1 by
+ @yxxhero in #1714
+ * fix docs build errors by @zhaque44 in #1715
+ * feat(pkg/app): Update Helm Diff version to v3.9.11 by
+ @yxxhero in #1720
+ * update test to table driven with assertions & test
+ GetMergedValues by @zhaque44 in #1721
+ * feat: update go version and adjust dependencies in Dockerfile
+ and go.mod by @yxxhero in #1722
+ * feat: Update Docker image to ubuntu:24.10 by @yxxhero in #1726
+ * build(deps): bump github.com/zclconf/go-cty-yaml from 1.0.3 to
+ 1.1.0 by @dependabot in #1723
+ * build(deps): bump golang.org/x/term from 0.24.0 to 0.25.0 by
+ @dependabot in #1724
+ * feat(pkg/policy): improve TopKeys function handling by
+ @yxxhero in #1730
+ * build(deps): bump helm.sh/helm/v3 from 3.16.1 to 3.16.2 by
+ @dependabot in #1732
+ * chore: Update AGE var version by @zhaque44 in #1731
+ * feat(helm-version): Update helm version to v3.16.2 by @yxxhero
+ in #1733
+ * fix: duration of delete failures are always 0s by @felipecrs
+ in #1734
+ * [feature] add --skip-refresh to globals by @sstarcher in #1736
+ * build(deps): bump github.com/helmfile/vals from 0.37.5 to
+ 0.37.6 by @dependabot in #1739
+ * build(deps): bump github.com/helmfile/chartify from 0.20.2 to
+ 0.20.3 by @dependabot in #1738
+ * feat: improve summary for releases failed to delete by
+ @felipecrs in #1735
+ * [feature] --skip-refresh to pass through to deps by @sstarcher
+ in #1740
+
+-------------------------------------------------------------------
Old:
----
helmfile-0.168.0.tar.gz
New:
----
helmfile-0.169.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ helmfile.spec ++++++
--- /var/tmp/diff_new_pack.vcltEx/_old 2024-10-16 23:53:45.918529796 +0200
+++ /var/tmp/diff_new_pack.vcltEx/_new 2024-10-16 23:53:45.922529963 +0200
@@ -19,7 +19,7 @@
%define git_commit 18529ab7c550bfa6d6eefddeb47418f1685f4a7f
Name: helmfile
-Version: 0.168.0
+Version: 0.169.0
Release: 0
Summary: Deploy Kubernetes Helm Charts
License: MIT
@@ -31,7 +31,7 @@
Recommends: helm >= 3.14.0
BuildRequires: golang-packaging
BuildRequires: xz
-BuildRequires: golang(API) >= 1.22
+BuildRequires: golang(API) >= 1.23
Obsoletes: %{name}-bash-completion < %{version}
Obsoletes: %{name}-zsh-completion < %{version}
++++++ _service ++++++
--- /var/tmp/diff_new_pack.vcltEx/_old 2024-10-16 23:53:45.954531298 +0200
+++ /var/tmp/diff_new_pack.vcltEx/_new 2024-10-16 23:53:45.958531465 +0200
@@ -5,7 +5,7 @@
<param name="exclude">.git</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
- <param name="revision">v0.168.0</param>
+ <param name="revision">v0.169.0</param>
<param name="changesgenerate">enable</param>
</service>
<service name="recompress" mode="manual">
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.vcltEx/_old 2024-10-16 23:53:45.978532299 +0200
+++ /var/tmp/diff_new_pack.vcltEx/_new 2024-10-16 23:53:45.982532466 +0200
@@ -1,5 +1,5 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/helmfile/helmfile.git</param>
- <param name="changesrevision">18529ab7c550bfa6d6eefddeb47418f1685f4a7f</param></service></servicedata>
+ <param name="changesrevision">dea501cb10fb9b0020bd8c6132e89704efc11b52</param></service></servicedata>
++++++ helmfile-0.168.0.tar.gz -> helmfile-0.169.0.tar.gz ++++++
++++ 2794 lines of diff (skipped)
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/helmfile/vendor.tar.gz /work/SRC/openSUSE:Factory/.helmfile.new.19354/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mesheryctl for openSUSE:Factory checked in at 2024-10-16 23:50:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mesheryctl (Old)
and /work/SRC/openSUSE:Factory/.mesheryctl.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mesheryctl"
Wed Oct 16 23:50:49 2024 rev:67 rq:1208387 version:0.7.122
Changes:
--------
--- /work/SRC/openSUSE:Factory/mesheryctl/mesheryctl.changes 2024-10-11 17:07:13.491002433 +0200
+++ /work/SRC/openSUSE:Factory/.mesheryctl.new.19354/mesheryctl.changes 2024-10-16 23:53:18.537387868 +0200
@@ -1,0 +2,14 @@
+Wed Oct 16 07:57:59 UTC 2024 - Johannes Kastl <opensuse_buildservice(a)ojkastl.de>
+
+- update to 0.7.122:
+ * General
+ - Add trim param in meshmodels API @Yashsharma1911 (#12367)
+ - rego policies for relationships w/singoff @Jougan-0 (#12351)
+ - Allow getting entities by ids @Yashsharma1911 (#12361)
+ - Fix environment connections not getting fetched in local
+ provider @Yashsharma1911 (#12349)
+ * Meshery CLI
+ - fix: unit test / integration test issue due to console
+ special characters @lekaf974 (#12327)
+
+-------------------------------------------------------------------
Old:
----
mesheryctl-0.7.121.obscpio
New:
----
mesheryctl-0.7.122.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mesheryctl.spec ++++++
--- /var/tmp/diff_new_pack.eqAJ7i/_old 2024-10-16 23:53:37.658185299 +0200
+++ /var/tmp/diff_new_pack.eqAJ7i/_new 2024-10-16 23:53:37.662185466 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: mesheryctl
-Version: 0.7.121
+Version: 0.7.122
Release: 0
Summary: CLI for the meshery cloud native management plane
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.eqAJ7i/_old 2024-10-16 23:53:37.686186467 +0200
+++ /var/tmp/diff_new_pack.eqAJ7i/_new 2024-10-16 23:53:37.690186634 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/meshery/meshery</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.7.121</param>
+ <param name="revision">v0.7.122</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">disable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ mesheryctl-0.7.121.obscpio -> mesheryctl-0.7.122.obscpio ++++++
/work/SRC/openSUSE:Factory/mesheryctl/mesheryctl-0.7.121.obscpio /work/SRC/openSUSE:Factory/.mesheryctl.new.19354/mesheryctl-0.7.122.obscpio differ: char 50, line 1
++++++ mesheryctl.obsinfo ++++++
--- /var/tmp/diff_new_pack.eqAJ7i/_old 2024-10-16 23:53:37.758189470 +0200
+++ /var/tmp/diff_new_pack.eqAJ7i/_new 2024-10-16 23:53:37.782190471 +0200
@@ -1,5 +1,5 @@
name: mesheryctl
-version: 0.7.121
-mtime: 1728421158
-commit: dc65251ec979a0003fbef7a1a61a3eb76cb3f040
+version: 0.7.122
+mtime: 1729021332
+commit: db56988ffab0827b4892d2e18cf772437e7a674b
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/mesheryctl/vendor.tar.gz /work/SRC/openSUSE:Factory/.mesheryctl.new.19354/vendor.tar.gz differ: char 5, line 1
1
0