Ok im sorry it could be a hack because your file, in fact is the same. I
had not bothered to go and see your repo here
https://salsa.debian.org/debian/wordpress/-/blob/master/wp-admin/includes/class-wp-site-health-auto-updates.php?ref_type=heads
and here the file that seel corrupted # cat /tmp/compare2
<?php
/**
* Class for testing automatic updates in the WordPress code.
*
* @package WordPress
* @subpackage Site_Health
* @since 5.2.0
*/
#[AllowDynamicProperties]
class WP_Site_Health_Auto_Updates {
/**
* WP_Site_Health_Auto_Updates constructor.
*
* @since 5.2.0
*/
public function __construct() {
require_once ABSPATH .
'wp-admin/includes/class-wp-upgrader.php';
}
/**
* Runs tests to determine if auto-updates can run.
*
* @since 5.2.0
*
* @return array The test results.
*/
public function run_tests() {
$tests = array(
$this->test_debian_note(),
// $this->test_constants( 'WP_AUTO_UPDATE_CORE',
array( true, 'beta', 'rc', 'development', 'branch-development', 'minor' ) ),
$this->test_wp_version_check_attached(),
$this->test_filters_automatic_updater_disabled(),
$this->test_wp_automatic_updates_disabled(),
// $this->test_if_failed_update(),
$this->test_vcs_abspath(),
$this->test_check_wp_filesystem_method(),
$this->test_all_files_unwritable(),
// $this->test_accepts_dev_updates(),
// $this->test_accepts_minor_updates(),
);
$tests = array_filter( $tests );
$tests = array_map(
static function ( $test ) {
$test = (object) $test;
if ( empty( $test->severity ) ) {
$test->severity = 'warning';
}
return $test;
},
$tests
);
return $tests;
}
/**
* Adds an info note that Debian is used for updates
*
*/
public function test_debian_note() {
return array(
'description' => 'Updates are managed by the Debian package
system',
'severity' => 'info',
);
}
/**
* Tests if auto-updates related constants are set correctly.
*
* @since 5.2.0
* @since 5.5.1 The `$value` parameter can accept an array.
*
* @param string $constant The name of the constant to
check.
* @param bool|string|array $value The value that the constant
should be, if set,
* or an array of acceptable values.
* @return array|null The test results if there are any constants
set incorrectly,
* or null if the test passed.
*/
public function test_constants( $constant, $value ) {
$acceptable_values = (array) $value;
if ( defined( $constant ) && ! in_array( constant(
$constant ), $acceptable_values, true ) ) {
return array(
'description' => sprintf(
/* translators: 1: Name of the constant
used. 2: Value of the constant used. */
__( 'The %1$s constant is defined as %2$s'
),
"<code>$constant</code>",
'<code>' . esc_html( var_export( constant(
$constant ), true ) ) . '</code>'
),
'severity' => 'fail',
);
}
return null;
}
/**
* Checks if updates are intercepted by a filter.
*
* @since 5.2.0
*
* @return array|null The test results if wp_version_check() is
disabled,
* or null if the test passed.
*/
public function test_wp_version_check_attached() {
if ( ( ! is_multisite() || is_main_site() &&
is_network_admin() )
&& ! has_filter( 'wp_version_check',
'wp_version_check' )
) {
return array(
'description' => sprintf(
/* translators: %s: Name of the filter
used. */
__( 'A plugin has prevented updates by
disabling %s.' ),
'<code>wp_version_check()</code>'
),
'severity' => 'fail',
);
}
return null;
}
/**
* Checks if automatic updates are disabled by a filter.
*
* @since 5.2.0
*
* @return array|null The test results if the {@see
'automatic_updater_disabled'} filter is set,
* or null if the test passed.
*/
public function test_filters_automatic_updater_disabled() {
/** This filter is documented in
wp-admin/includes/class-wp-automatic-updater.php */
if ( apply_filters( 'automatic_updater_disabled', false ) )
{
return array(
'description' => sprintf(
/* translators: %s: Name of the filter
used. */
__( 'The %s filter is enabled.' ),
'<code>automatic_updater_disabled</code>'
),
'severity' => 'fail',
);
}
return null;
}
/**
* Checks if automatic updates are disabled.
*
* @since 5.3.0
*
* @return array|false The test results if auto-updates are
disabled, false otherwise.
*/
public function test_wp_automatic_updates_disabled() {
if ( ! class_exists( 'WP_Automatic_Updater' ) ) {
require_once ABSPATH .
'wp-admin/includes/class-wp-automatic-updater.php';
}
$auto_updates = new WP_Automatic_Updater();
if ( ! $auto_updates->is_disabled() ) {
return false;
}
return array(
'description' => __( 'All automatic updates are
disabled.' ),
'severity' => 'fail',
);
}
/**
* Checks if automatic updates have tried to run, but failed,
previously.
*
* @since 5.2.0
*
* @return array|false The test results if auto-updates previously
failed, false otherwise.
*/
public function test_if_failed_update() {
$failed = get_site_option( 'auto_core_update_failed' );
if ( ! $failed ) {
return false;
}
if ( ! empty( $failed['critical'] ) ) {
$description = __( 'A previous automatic
background update ended with a critical failure, so updates are now
disabled.' );
$description .= ' ' . __( 'You would have received
an email because of this.' );
$description .= ' ' . __( "When you've been able to
update using the \"Update now\" button on Dashboard > Updates, this error
will be cleared for future update attempts." );
$description .= ' ' . sprintf(
/* translators: %s: Code of error shown. */
__( 'The error code was %s.' ),
'<code>' . $failed['error_code'] . '</code>'
);
return array(
'description' => $description,
'severity' => 'warning',
);
}
$description = __( 'A previous automatic background update
could not occur.' );
if ( empty( $failed['retry'] ) ) {
$description .= ' ' . __( 'You would have received
an email because of this.' );
}
$description .= ' ' . __( 'Another attempt will be made
with the next release.' );
$description .= ' ' . sprintf(
/* translators: %s: Code of error shown. */
__( 'The error code was %s.' ),
'<code>' . $failed['error_code'] . '</code>'
);
return array(
'description' => $description,
'severity' => 'warning',
);
}
/**
* Checks if WordPress is controlled by a VCS (Git, Subversion etc).
*
* @since 5.2.0
*
* @return array The test results.
*/
public function test_vcs_abspath() {
$context_dirs = array( ABSPATH );
$vcs_dirs = array( '.svn', '.git', '.hg', '.bzr' );
$check_dirs = array();
foreach ( $context_dirs as $context_dir ) {
// Walk up from $context_dir to the root.
do {
$check_dirs[] = $context_dir;
// Once we've hit '/' or 'C:\', we need to
stop. dirname will keep returning the input here.
if ( dirname( $context_dir ) ===
$context_dir ) {
break;
}
// Continue one level at a time.
} while ( $context_dir = dirname( $context_dir ) );
}
$check_dirs = array_unique( $check_dirs );
$updater = new WP_Automatic_Updater();
$checkout = false;
// Search all directories we've found for evidence of
version control.
foreach ( $vcs_dirs as $vcs_dir ) {
foreach ( $check_dirs as $check_dir ) {
if ( ! $updater->is_allowed_dir( $check_dir
) ) {
continue;
}
$checkout = is_dir( rtrim( $check_dir,
'\\/' ) . "/$vcs_dir" );
if ( $checkout ) {
break 2;
}
}
}
/** This filter is documented in
wp-admin/includes/class-wp-automatic-updater.php */
if ( $checkout && ! apply_filters(
'automatic_updates_is_vcs_checkout', true, ABSPATH ) ) {
return array(
'description' => sprintf(
/* translators: 1: Folder name. 2: Version
control directory. 3: Filter name. */
__( 'The folder %1$s was detected as being
under version control (%2$s), but the %3$s filter is allowing updates.' ),
'<code>' . $check_dir . '</code>',
"<code>$vcs_dir</code>",
'<code>automatic_updates_is_vcs_checkout</code>'
),
'severity' => 'info',
);
}
if ( $checkout ) {
return array(
'description' => sprintf(
/* translators: 1: Folder name. 2: Version
control directory. */
__( 'The folder %1$s was detected as being
under version control (%2$s).' ),
'<code>' . $check_dir . '</code>',
"<code>$vcs_dir</code>"
),
'severity' => 'warning',
);
}
return array(
'description' => __( 'No version control systems
were detected.' ),
'severity' => 'pass',
);
}
/**
* Checks if we can access files without providing credentials.
*
* @since 5.2.0
*
* @return array The test results.
*/
public function test_check_wp_filesystem_method() {
// Make sure the `request_filesystem_credentials()`
function is available during our REST API call.
if ( ! function_exists( 'request_filesystem_credentials' )
) {
require_once ABSPATH . 'wp-admin/includes/file.php';
}
$skin = new Automatic_Upgrader_Skin();
$success = $skin->request_filesystem_credentials( false,
ABSPATH );
if ( ! $success ) {
$description = __( 'Your installation of WordPress
prompts for FTP credentials to perform updates.' );
$description .= ' ' . __( '(Your site is performing
updates over FTP due to file ownership. Talk to your hosting company.)' );
return array(
'description' => $description,
'severity' => 'fail',
);
}
return array(
'description' => __( 'Your installation of
WordPress does not require FTP credentials to perform updates.' ),
'severity' => 'pass',
);
}
/**
* Checks if core files are unwritable by the web user/group.
* Debian systems should not have these files writable as the
packaging system
* updates them
*
* @since 5.2.0
*
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem
subclass.
*
* @return array|false The test results if at least some of
WordPress core files are writeable,
* or if a list of the checksums could not be
retrieved from WordPress.org.
* False if the core files are not writeable.
*/
public function test_all_files_unwritable() {
global $wp_filesystem;
require ABSPATH . WPINC . '/version.php'; // $wp_version;
// x.y.z
$skin = new Automatic_Upgrader_Skin();
$success = $skin->request_filesystem_credentials( false,
ABSPATH );
if ( ! $success ) {
return false;
}
WP_Filesystem();
if ( 'direct' !== $wp_filesystem->method ) {
return false;
}
// Make sure the `get_core_checksums()` function is
available during our REST API call.
if ( ! function_exists( 'get_core_checksums' ) ) {
require_once ABSPATH .
'wp-admin/includes/update.php';
}
$checksums = get_core_checksums( $wp_version, 'en_US' );
$dev = ( str_contains( $wp_version, '-' ) );
// Get the last stable version's files and test against
that.
if ( ! $checksums && $dev ) {
$checksums = get_core_checksums( (float)
$wp_version - 0.1, 'en_US' );
}
// There aren't always checksums for development releases,
so just skip the test if we still can't find any.
if ( ! $checksums && $dev ) {
return false;
}
if ( ! $checksums ) {
$description = sprintf(
/* translators: %s: WordPress version. */
__( "Couldn't retrieve a list of the
checksums for WordPress %s." ),
$wp_version
);
$description .= ' ' . __( 'This could mean that
connections are failing to WordPress.org.' );
return array(
'description' => $description,
'severity' => 'warning',
);
}
$unwritable_files = array();
foreach ( array_keys( $checksums ) as $file ) {
if ( str_starts_with( $file, 'wp-content' ) ) {
continue;
}
if ( ! file_exists( ABSPATH . $file ) ) {
continue;
}
if ( is_writable( ABSPATH . $file ) ) {
$unwritable_files[] = $file;
}
}
if ( $unwritable_files ) {
if ( count( $unwritable_files ) > 20 ) {
$unwritable_files = array_slice(
$unwritable_files, 0, 20 );
$unwritable_files[] = '...';
}
return array(
'description' => __( 'Some files are
writable by WordPress:' ) . ' <ul><li>' . implode( '</li><li>',
$unwritable_files ) . '</li></ul>',
'severity' => 'fail',
);
} else {
return array(
'description' => __( 'All of your WordPress
files are unwritable.' ),
'severity' => 'pass',
);
}
}
/**
* Checks if the install is using a development branch and can use
nightly packages.
*
* @since 5.2.0
*
* @return array|false|null The test results if development updates
are blocked.
* False if it isn't a development
version. Null if the test passed.
*/
public function test_accepts_dev_updates() {
require ABSPATH . WPINC . '/version.php'; // $wp_version;
// x.y.z
// Only for dev versions.
if ( ! str_contains( $wp_version, '-' ) ) {
return false;
}
if ( defined( 'WP_AUTO_UPDATE_CORE' ) && ( 'minor' ===
WP_AUTO_UPDATE_CORE || false === WP_AUTO_UPDATE_CORE ) ) {
return array(
'description' => sprintf(
/* translators: %s: Name of the constant
used. */
__( 'WordPress development updates are
blocked by the %s constant.' ),
'<code>WP_AUTO_UPDATE_CORE</code>'
),
'severity' => 'fail',
);
}
/** This filter is documented in
wp-admin/includes/class-core-upgrader.php */
if ( ! apply_filters( 'allow_dev_auto_core_updates',
$wp_version ) ) {
return array(
'description' => sprintf(
/* translators: %s: Name of the filter
used. */
__( 'WordPress development updates are
blocked by the %s filter.' ),
'<code>allow_dev_auto_core_updates</code>'
),
'severity' => 'fail',
);
}
return null;
}
/**
* Checks if the site supports automatic minor updates.
*
* @since 5.2.0
*
* @return array|null The test results if minor updates are blocked,
* or null if the test passed.
*/
public function test_accepts_minor_updates() {
if ( defined( 'WP_AUTO_UPDATE_CORE' ) && false ===
WP_AUTO_UPDATE_CORE ) {
return array(
'description' => sprintf(
/* translators: %s: Name of the constant
used. */
__( 'WordPress security and maintenance
releases are blocked by %s.' ),
"<code>define( 'WP_AUTO_UPDATE_CORE',
false );</code>"
),
'severity' => 'fail',
);
}
/** This filter is documented in
wp-admin/includes/class-core-upgrader.php */
if ( ! apply_filters( 'allow_minor_auto_core_updates', true
) ) {
return array(
'description' => sprintf(
/* translators: %s: Name of the filter
used. */
__( 'WordPress security and maintenance
releases are blocked by the %s filter.' ),
'<code>allow_minor_auto_core_updates</code>'
),
'severity' => 'fail',
);
}
return null;
}
}
Le sam. 25 oct. 2025 à 21:43, Debian Bug Tracking System <
[email protected]> a écrit :
> Thank you for filing a new Bug report with Debian.
>
> You can follow progress on this Bug here: 1118951:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1118951.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> As you requested using X-Debbugs-CC, your message was also forwarded to
> [email protected]
> (after having been given a Bug report number, if it did not have one).
>
> Your message has been sent to the package maintainer(s):
> [email protected]
>
> If you wish to submit further information on this problem, please
> send it to [email protected].
>
> Please do not send mail to [email protected] unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 1118951: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1118951
> Debian Bug Tracking System
> Contact [email protected] with problems
>
--
*Determinets.com <http://determinets.com>*