By happenstance I noticed that I had mindlessly hard-coded the
amd64-specific multiarch path into the preinsts.

Please find a really-fixed-this-time NMU patch for experimental.


On Wed, Jan 31, 2024 at 12:41:48PM -0800, Steve Langasek wrote:
> Sorry, and thanks for bearing with me.  Uploaded to experimental again;
> updated full NMU debdiff attached.
> 
> On Wed, Jan 31, 2024 at 09:31:25PM +0100, Helmut Grohne wrote:
> > Control: reopen -1
> > 
> > On Wed, Jan 31, 2024 at 10:12:03AM +0000, Debian Bug Tracking System wrote:
> > > #1061966: file loss due to combining time64 + /usr-move
> > > 
> > > It has been closed by Debian FTP Masters 
> > > <ftpmas...@ftp-master.debian.org> (reply to Steve Langasek 
> > > <vor...@debian.org>).
> > 
> > I fear this is not fixed.
> > 
> > > /usr/lib/x86_64-linux-gnu/libaudit.so.1 and
> > 
> > This is fixed.
> > 
> > > /usr/lib/x86_64-linux-gnu/libaudit.so.1.0.0 have been moved from
> > 
> > This not.
> > 
> > > libaudit1 to libaudit1t64 in this upload and these files have formerly
> > > been installed below /lib in bookworm. Hence, we are creating exactly
> > > the problem that the file move moratorium was meant to prevent.
> > > 
> > > /usr/lib/x86_64-linux-gnu/libauparse.so.0 and
> > 
> > This is fixed.
> > 
> > > /usr/lib/x86_64-linux-gnu/libauparse.so.0.0.0 likewise move from
> > 
> > This not.
> > 
> > > libauparse0 to libauparse0t64 and create the same problem.
> > > 
> > > DEP17 classifies this a P1 and proposed mitigations M7 and M8. In this
> > > case, I recommend not exercising Conflicts (M7), because they are known
> > > to be unreliable and libaudit1 is part of the the essential set (login
> > > depends on it). Instead, their respective preinst script should create
> > > protective diversions
> > > 
> > >     dpkg-divert --package libaudit1t64 --no-rename --divert 
> > > /lib/x86_64-linux-gnu/libaudit.so.1.usr-is-merged 
> > > /lib/x86_64-linux-gnu/libaudit.so.1
> > > 
> > > for each of the affected files with their aliased location. In this case
> > > - since we cannot use Conflicts - we cannot get rid of these diversions
> > > in postinst. We already have Breaks: libaudit1 (<< ...), but that allows
> > > concurrent unpack and hence still allows for the file loss scenario. The
> > > diversions should be cleaned up in forky's postinst.
> > > 
> > > I appreciate another upload of audit to experimental to verify the
> > > mitigation.
> > 
> > Helmut
> > 
> 
> -- 
> Steve Langasek                   Give me a lever long enough and a Free OS
> Debian Developer                   to set it on, and I can move the world.
> Ubuntu Developer                                   https://www.debian.org/
> slanga...@ubuntu.com                                     vor...@debian.org

> diff -Nru audit-3.1.2/debian/changelog audit-3.1.2/debian/changelog
> --- audit-3.1.2/debian/changelog      2024-01-24 15:05:18.000000000 +0000
> +++ audit-3.1.2/debian/changelog      2024-01-31 20:39:17.000000000 +0000
> @@ -1,3 +1,19 @@
> +audit (1:3.1.2-2.1~exp3) experimental; urgency=medium
> +
> +  * Proper complete fix for usrmerge.  Closes: #1061966.
> +
> + -- Steve Langasek <vor...@debian.org>  Wed, 31 Jan 2024 20:39:17 +0000
> +
> +audit (1:3.1.2-2.1~exp2) experimental; urgency=medium
> +
> +  * Non-maintainer upload.
> +  * Rename libraries for 64-bit time_t transition.
> +  * Fix uninstallable packages from the previous upload.
> +  * Add usrmerge diversions in preinst to protect against file deletion
> +    due to libraries moving between packages.  Closes: #1061966.
> +
> + -- Steve Langasek <vor...@debian.org>  Wed, 31 Jan 2024 08:49:07 +0000
> +
>  audit (1:3.1.2-2) unstable; urgency=medium
>  
>    [ Chris Hofstaedtler ]
> diff -Nru audit-3.1.2/debian/control audit-3.1.2/debian/control
> --- audit-3.1.2/debian/control        2024-01-24 15:05:18.000000000 +0000
> +++ audit-3.1.2/debian/control        2024-01-31 08:49:07.000000000 +0000
> @@ -26,8 +26,8 @@
>  Package: auditd
>  Section: admin
>  Architecture: linux-any
> -Depends: libaudit1 (= ${binary:Version}),
> -         libauparse0 (= ${binary:Version}),
> +Depends: libaudit1t64 (= ${binary:Version}),
> +         libauparse0t64 (= ${binary:Version}),
>           mawk | gawk,
>           ${misc:Depends},
>           ${shlibs:Depends}
> @@ -41,29 +41,35 @@
>   .
>   Also contains the audit dispatcher "audisp".
>  
> -Package: libauparse0
> +Package: libauparse0t64
> +Provides: ${t64:Provides}
> +Replaces: libauparse0
> +Breaks: libauparse0 (<< ${source:Version})
>  Architecture: linux-any
>  Pre-Depends: ${misc:Pre-Depends}
> -Depends: libaudit1 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
> +Depends: libaudit1t64 (= ${binary:Version}), ${misc:Depends}, 
> ${shlibs:Depends}
>  Multi-Arch: same
>  Description: Dynamic library for parsing security auditing
>   The libauparse package contains the dynamic libraries needed for
>   applications to use the audit framework. It is used to monitor systems for
>   security related events.
>   .
> - This package contains the libauparse0 library.
> + This package contains the libauparse0t64 library.
>  
>  Package: libauparse-dev
>  Section: libdevel
>  Architecture: linux-any
> -Depends: libauparse0 (= ${binary:Version}), ${misc:Depends}
> +Depends: libauparse0t64 (= ${binary:Version}), ${misc:Depends}
>  Multi-Arch: same
> -Description: Header files and static library for the libauparse0 library
> +Description: Header files and static library for the libauparse0t64 library
>   The audit-libs parse package contains the dynamic libraries needed for
>   applications to use the audit framework. It is used to monitor systems for
>   security related events.
>  
> -Package: libaudit1
> +Package: libaudit1t64
> +Provides: ${t64:Provides}
> +Replaces: libaudit1
> +Breaks: libaudit1 (<< ${source:Version})
>  Architecture: linux-any
>  Pre-Depends: ${misc:Pre-Depends}
>  Depends: libaudit-common (>= ${source:Version}),
> @@ -90,7 +96,7 @@
>  Package: libaudit-dev
>  Section: libdevel
>  Architecture: linux-any
> -Depends: libaudit1 (= ${binary:Version}), libcap-ng-dev, ${misc:Depends}
> +Depends: libaudit1t64 (= ${binary:Version}), libcap-ng-dev, ${misc:Depends}
>  Multi-Arch: same
>  Description: Header files and static library for security auditing
>   The audit-libs-devel package contains the static libraries and header
> @@ -100,8 +106,8 @@
>  Package: python3-audit
>  Section: python
>  Architecture: linux-any
> -Depends: libaudit1 (= ${binary:Version}),
> -         libauparse0 (= ${binary:Version}),
> +Depends: libaudit1t64 (= ${binary:Version}),
> +         libauparse0t64 (= ${binary:Version}),
>           ${misc:Depends},
>           ${python3:Depends},
>           ${shlibs:Depends}
> @@ -127,7 +133,7 @@
>  Section: admin
>  Architecture: linux-any
>  Depends: auditd (= ${binary:Version}),
> -         libauparse0 (= ${binary:Version}),
> +         libauparse0t64 (= ${binary:Version}),
>           ${misc:Depends},
>           ${shlibs:Depends}
>  Build-Profiles: <!pkg.audit.noldap>
> diff -Nru audit-3.1.2/debian/libaudit1.install 
> audit-3.1.2/debian/libaudit1.install
> --- audit-3.1.2/debian/libaudit1.install      2024-01-24 15:05:18.000000000 
> +0000
> +++ audit-3.1.2/debian/libaudit1.install      1970-01-01 00:00:00.000000000 
> +0000
> @@ -1 +0,0 @@
> -usr/lib/*/libaudit.so.*
> diff -Nru audit-3.1.2/debian/libaudit1.symbols 
> audit-3.1.2/debian/libaudit1.symbols
> --- audit-3.1.2/debian/libaudit1.symbols      2024-01-24 15:05:18.000000000 
> +0000
> +++ audit-3.1.2/debian/libaudit1.symbols      1970-01-01 00:00:00.000000000 
> +0000
> @@ -1,89 +0,0 @@
> -libaudit.so.1 libaudit1 #MINVER#
> -* Build-Depends-Package: libaudit-dev
> - __audit_send@Base 1:2.8.2
> - _audit_archadded@Base 1:2.2.1
> - _audit_elf@Base 1:2.2.1
> - _audit_exeadded@Base 1:2.5.1
> - _audit_filterfsadded@Base 1:2.8
> - _audit_permadded@Base 1:2.2.1
> - _audit_syscalladded@Base 1:2.2.1
> - audit_action_to_name@Base 1:2.2.1
> - audit_add_rule_data@Base 1:2.2.1
> - audit_add_watch@Base 1:2.2.1
> - audit_add_watch_dir@Base 1:2.2.1
> - audit_can_control@Base 1:2.6.1
> - audit_can_read@Base 1:2.6.1
> - audit_can_write@Base 1:2.6.1
> - audit_close@Base 1:2.2.1
> - audit_delete_rule_data@Base 1:2.2.1
> - audit_detect_machine@Base 1:2.2.1
> - audit_determine_machine@Base 1:2.3.6
> - audit_elf_to_machine@Base 1:2.2.1
> - audit_encode_nv_string@Base 1:2.2.1
> - audit_encode_value@Base 1:2.2.1
> - audit_errno_to_name@Base 1:2.2.1
> - audit_field_to_name@Base 1:2.2.1
> - audit_flag_to_name@Base 1:2.2.1
> - audit_format_signal_info@Base 1:3.0~alpha9
> - audit_fstype_to_name@Base 1:2.8
> - audit_ftype_to_name@Base 1:2.2.1
> - audit_get_features@Base 1:2.5.1
> - audit_get_reply@Base 1:2.2.1
> - audit_get_session@Base 1:2.7.7
> - audit_getloginuid@Base 1:2.2.1
> - audit_is_enabled@Base 1:2.2.1
> - audit_log_acct_message@Base 1:2.2.1
> - audit_log_semanage_message@Base 1:2.2.1
> - audit_log_user_avc_message@Base 1:2.2.1
> - audit_log_user_comm_message@Base 1:2.2.1
> - audit_log_user_command@Base 1:2.2.1
> - audit_log_user_message@Base 1:2.2.1
> - audit_machine_to_elf@Base 1:2.2.1
> - audit_machine_to_name@Base 1:2.2.1
> - audit_make_equivalent@Base 1:2.2.1
> - audit_msg@Base 1:2.2.1
> - audit_msg_type_to_name@Base 1:2.2.1
> - audit_name_to_action@Base 1:2.2.1
> - audit_name_to_errno@Base 1:2.2.1
> - audit_name_to_field@Base 1:2.2.1
> - audit_name_to_flag@Base 1:2.2.1
> - audit_name_to_fstype@Base 1:2.8
> - audit_name_to_ftype@Base 1:2.2.1
> - audit_name_to_machine@Base 1:2.2.1
> - audit_name_to_msg_type@Base 1:2.2.1
> - audit_name_to_syscall@Base 1:2.2.1
> - audit_name_to_uringop@Base 1:3.1.1
> - audit_number_to_errmsg@Base 1:2.2.1
> - audit_open@Base 1:2.2.1
> - audit_operator_to_symbol@Base 1:2.2.1
> - audit_request_features@Base 1:2.4
> - audit_request_rules_list_data@Base 1:2.2.1
> - audit_request_signal_info@Base 1:2.2.1
> - audit_request_status@Base 1:2.2.1
> - audit_reset_backlog_wait_time_actual@Base 1:3.0
> - audit_reset_lost@Base 1:2.7.7
> - audit_rule_create_data@Base 1:3.0~alpha9
> - audit_rule_fieldpair_data@Base 1:2.2.1
> - audit_rule_free_data@Base 1:2.2.1
> - audit_rule_init_data@Base 1:3.0~alpha9
> - audit_rule_interfield_comp_data@Base 1:2.2.1
> - audit_rule_io_uringbyname_data@Base 1:3.1.1
> - audit_rule_syscall_data@Base 1:2.2.1
> - audit_rule_syscallbyname_data@Base 1:2.2.1
> - audit_send@Base 1:2.2.1
> - audit_set_backlog_limit@Base 1:2.2.1
> - audit_set_backlog_wait_time@Base 1:2.4.2
> - audit_set_enabled@Base 1:2.2.1
> - audit_set_failure@Base 1:2.2.1
> - audit_set_feature@Base 1:2.4
> - audit_set_loginuid_immutable@Base 1:2.4
> - audit_set_pid@Base 1:2.2.1
> - audit_set_rate_limit@Base 1:2.2.1
> - audit_setloginuid@Base 1:2.2.1
> - audit_syscall_to_name@Base 1:2.2.1
> - audit_trim_subtrees@Base 1:2.2.1
> - audit_update_watch_perms@Base 1:2.2.1
> - audit_uringop_to_name@Base 1:3.1.1
> - audit_value_needs_encoding@Base 1:2.2.1
> - get_auditfail_action@Base 1:2.2.1
> - set_aumessage_mode@Base 1:2.2.1
> diff -Nru audit-3.1.2/debian/libaudit1t64.install 
> audit-3.1.2/debian/libaudit1t64.install
> --- audit-3.1.2/debian/libaudit1t64.install   1970-01-01 00:00:00.000000000 
> +0000
> +++ audit-3.1.2/debian/libaudit1t64.install   2024-01-24 15:05:18.000000000 
> +0000
> @@ -0,0 +1 @@
> +usr/lib/*/libaudit.so.*
> diff -Nru audit-3.1.2/debian/libaudit1t64.lintian-overrides 
> audit-3.1.2/debian/libaudit1t64.lintian-overrides
> --- audit-3.1.2/debian/libaudit1t64.lintian-overrides 1970-01-01 
> 00:00:00.000000000 +0000
> +++ audit-3.1.2/debian/libaudit1t64.lintian-overrides 2024-01-31 
> 08:49:07.000000000 +0000
> @@ -0,0 +1 @@
> +libaudit1t64: package-name-doesnt-match-sonames libaudit1
> diff -Nru audit-3.1.2/debian/libaudit1t64.preinst 
> audit-3.1.2/debian/libaudit1t64.preinst
> --- audit-3.1.2/debian/libaudit1t64.preinst   1970-01-01 00:00:00.000000000 
> +0000
> +++ audit-3.1.2/debian/libaudit1t64.preinst   2024-01-31 20:37:58.000000000 
> +0000
> @@ -0,0 +1,16 @@
> +#!/bin/sh
> +
> +set -e
> +
> +case $1 in
> +     install)
> +             for file in libaudit.so.1 libaudit.so.1.0.0; do
> +                     dpkg-divert --package libaudit1t64 --no-rename \
> +                             --divert \
> +                             /lib/x86_64-linux-gnu/$file.usr-is-merged \
> +                             /lib/x86_64-linux-gnu/$file
> +             done
> +             ;;
> +esac
> +
> +#DEBHELPER#
> diff -Nru audit-3.1.2/debian/libaudit1t64.symbols 
> audit-3.1.2/debian/libaudit1t64.symbols
> --- audit-3.1.2/debian/libaudit1t64.symbols   1970-01-01 00:00:00.000000000 
> +0000
> +++ audit-3.1.2/debian/libaudit1t64.symbols   2024-01-31 08:49:07.000000000 
> +0000
> @@ -0,0 +1,89 @@
> +libaudit.so.1 libaudit1t64 #MINVER#
> +* Build-Depends-Package: libaudit-dev
> + __audit_send@Base 1:2.8.2
> + _audit_archadded@Base 1:2.2.1
> + _audit_elf@Base 1:2.2.1
> + _audit_exeadded@Base 1:2.5.1
> + _audit_filterfsadded@Base 1:2.8
> + _audit_permadded@Base 1:2.2.1
> + _audit_syscalladded@Base 1:2.2.1
> + audit_action_to_name@Base 1:2.2.1
> + audit_add_rule_data@Base 1:2.2.1
> + audit_add_watch@Base 1:2.2.1
> + audit_add_watch_dir@Base 1:2.2.1
> + audit_can_control@Base 1:2.6.1
> + audit_can_read@Base 1:2.6.1
> + audit_can_write@Base 1:2.6.1
> + audit_close@Base 1:2.2.1
> + audit_delete_rule_data@Base 1:2.2.1
> + audit_detect_machine@Base 1:2.2.1
> + audit_determine_machine@Base 1:2.3.6
> + audit_elf_to_machine@Base 1:2.2.1
> + audit_encode_nv_string@Base 1:2.2.1
> + audit_encode_value@Base 1:2.2.1
> + audit_errno_to_name@Base 1:2.2.1
> + audit_field_to_name@Base 1:2.2.1
> + audit_flag_to_name@Base 1:2.2.1
> + audit_format_signal_info@Base 1:3.0~alpha9
> + audit_fstype_to_name@Base 1:2.8
> + audit_ftype_to_name@Base 1:2.2.1
> + audit_get_features@Base 1:2.5.1
> + audit_get_reply@Base 1:2.2.1
> + audit_get_session@Base 1:2.7.7
> + audit_getloginuid@Base 1:2.2.1
> + audit_is_enabled@Base 1:2.2.1
> + audit_log_acct_message@Base 1:2.2.1
> + audit_log_semanage_message@Base 1:2.2.1
> + audit_log_user_avc_message@Base 1:2.2.1
> + audit_log_user_comm_message@Base 1:2.2.1
> + audit_log_user_command@Base 1:2.2.1
> + audit_log_user_message@Base 1:2.2.1
> + audit_machine_to_elf@Base 1:2.2.1
> + audit_machine_to_name@Base 1:2.2.1
> + audit_make_equivalent@Base 1:2.2.1
> + audit_msg@Base 1:2.2.1
> + audit_msg_type_to_name@Base 1:2.2.1
> + audit_name_to_action@Base 1:2.2.1
> + audit_name_to_errno@Base 1:2.2.1
> + audit_name_to_field@Base 1:2.2.1
> + audit_name_to_flag@Base 1:2.2.1
> + audit_name_to_fstype@Base 1:2.8
> + audit_name_to_ftype@Base 1:2.2.1
> + audit_name_to_machine@Base 1:2.2.1
> + audit_name_to_msg_type@Base 1:2.2.1
> + audit_name_to_syscall@Base 1:2.2.1
> + audit_name_to_uringop@Base 1:3.1.1
> + audit_number_to_errmsg@Base 1:2.2.1
> + audit_open@Base 1:2.2.1
> + audit_operator_to_symbol@Base 1:2.2.1
> + audit_request_features@Base 1:2.4
> + audit_request_rules_list_data@Base 1:2.2.1
> + audit_request_signal_info@Base 1:2.2.1
> + audit_request_status@Base 1:2.2.1
> + audit_reset_backlog_wait_time_actual@Base 1:3.0
> + audit_reset_lost@Base 1:2.7.7
> + audit_rule_create_data@Base 1:3.0~alpha9
> + audit_rule_fieldpair_data@Base 1:2.2.1
> + audit_rule_free_data@Base 1:2.2.1
> + audit_rule_init_data@Base 1:3.0~alpha9
> + audit_rule_interfield_comp_data@Base 1:2.2.1
> + audit_rule_io_uringbyname_data@Base 1:3.1.1
> + audit_rule_syscall_data@Base 1:2.2.1
> + audit_rule_syscallbyname_data@Base 1:2.2.1
> + audit_send@Base 1:2.2.1
> + audit_set_backlog_limit@Base 1:2.2.1
> + audit_set_backlog_wait_time@Base 1:2.4.2
> + audit_set_enabled@Base 1:2.2.1
> + audit_set_failure@Base 1:2.2.1
> + audit_set_feature@Base 1:2.4
> + audit_set_loginuid_immutable@Base 1:2.4
> + audit_set_pid@Base 1:2.2.1
> + audit_set_rate_limit@Base 1:2.2.1
> + audit_setloginuid@Base 1:2.2.1
> + audit_syscall_to_name@Base 1:2.2.1
> + audit_trim_subtrees@Base 1:2.2.1
> + audit_update_watch_perms@Base 1:2.2.1
> + audit_uringop_to_name@Base 1:3.1.1
> + audit_value_needs_encoding@Base 1:2.2.1
> + get_auditfail_action@Base 1:2.2.1
> + set_aumessage_mode@Base 1:2.2.1
> diff -Nru audit-3.1.2/debian/libauparse0.install 
> audit-3.1.2/debian/libauparse0.install
> --- audit-3.1.2/debian/libauparse0.install    2024-01-24 15:05:18.000000000 
> +0000
> +++ audit-3.1.2/debian/libauparse0.install    1970-01-01 00:00:00.000000000 
> +0000
> @@ -1 +0,0 @@
> -usr/lib/*/libauparse.so.*
> diff -Nru audit-3.1.2/debian/libauparse0.symbols 
> audit-3.1.2/debian/libauparse0.symbols
> --- audit-3.1.2/debian/libauparse0.symbols    2024-01-24 15:05:18.000000000 
> +0000
> +++ audit-3.1.2/debian/libauparse0.symbols    1970-01-01 00:00:00.000000000 
> +0000
> @@ -1,84 +0,0 @@
> -libauparse.so.0 libauparse0 #MINVER#
> -* Build-Depends-Package: libauparse-dev
> - _auparse_flush_caches@Base 1:3.0.5
> - _auparse_free_interpretations@Base 1:2.6
> - _auparse_load_interpretations@Base 1:2.6
> - _auparse_lookup_interpretation@Base 1:2.6.1
> - auparse_add_callback@Base 1:2.2.1
> - auparse_destroy@Base 1:2.2.1
> - auparse_destroy_ext@Base 1:2.7.7
> - auparse_do_interpretation@Base 1:2.3.1
> - auparse_feed@Base 1:2.2.1
> - auparse_feed_age_events@Base 1:2.5.1
> - auparse_feed_has_data@Base 1:2.2.2
> - auparse_feed_has_ready_event@Base 1:3.0.5
> - auparse_find_field@Base 1:2.2.1
> - auparse_find_field_next@Base 1:2.2.1
> - auparse_first_field@Base 1:2.2.1
> - auparse_first_record@Base 1:2.2.1
> - auparse_flush_feed@Base 1:2.2.1
> - auparse_get_field_int@Base 1:2.2.1
> - auparse_get_field_name@Base 1:2.2.1
> - auparse_get_field_num@Base 1:2.7.7
> - auparse_get_field_str@Base 1:2.2.1
> - auparse_get_field_type@Base 1:2.2.1
> - auparse_get_filename@Base 1:2.2.1
> - auparse_get_line_number@Base 1:2.2.1
> - auparse_get_milli@Base 1:2.2.1
> - auparse_get_node@Base 1:2.2.1
> - auparse_get_num_fields@Base 1:2.2.1
> - auparse_get_num_records@Base 1:2.2.1
> - auparse_get_record_interpretations@Base 1:2.6
> - auparse_get_record_num@Base 1:2.7.7
> - auparse_get_record_text@Base 1:2.2.1
> - auparse_get_serial@Base 1:2.2.1
> - auparse_get_time@Base 1:2.2.1
> - auparse_get_timestamp@Base 1:2.2.1
> - auparse_get_type@Base 1:2.2.1
> - auparse_get_type_name@Base 1:2.3.4
> - auparse_goto_field_num@Base 1:2.7.7
> - auparse_goto_record_num@Base 1:2.2.1
> - auparse_init@Base 1:2.2.1
> - auparse_interp_adjust_type@Base 1:2.3.1
> - auparse_interpret_field@Base 1:2.2.1
> - auparse_interpret_realpath@Base 1:2.7.8
> - auparse_interpret_sock_address@Base 1:2.8
> - auparse_interpret_sock_family@Base 1:2.8
> - auparse_interpret_sock_port@Base 1:2.8
> - auparse_new_buffer@Base 1:3.0.5
> - auparse_next_event@Base 1:2.2.1
> - auparse_next_field@Base 1:2.2.1
> - auparse_next_record@Base 1:2.2.1
> - auparse_node_compare@Base 1:2.2.1
> - auparse_normalize@Base 1:2.7.7
> - auparse_normalize_get_action@Base 1:2.7.7
> - auparse_normalize_get_event_kind@Base 1:2.7.7
> - auparse_normalize_get_results@Base 1:2.7.7
> - auparse_normalize_how@Base 1:2.7.7
> - auparse_normalize_key@Base 1:2.7.7
> - auparse_normalize_object_first_attribute@Base 1:2.7.7
> - auparse_normalize_object_kind@Base 1:2.7.7
> - auparse_normalize_object_next_attribute@Base 1:2.7.7
> - auparse_normalize_object_primary2@Base 1:2.8
> - auparse_normalize_object_primary@Base 1:2.7.7
> - auparse_normalize_object_secondary@Base 1:2.7.7
> - auparse_normalize_session@Base 1:2.7.7
> - auparse_normalize_subject_first_attribute@Base 1:2.7.7
> - auparse_normalize_subject_kind@Base 1:2.7.7
> - auparse_normalize_subject_next_attribute@Base 1:2.7.7
> - auparse_normalize_subject_primary@Base 1:2.7.7
> - auparse_normalize_subject_secondary@Base 1:2.7.7
> - auparse_reset@Base 1:2.2.1
> - auparse_set_eoe_timeout@Base 1:3.0.5
> - auparse_set_escape_mode@Base 1:2.4.4
> - auparse_timestamp_compare@Base 1:2.2.1
> - ausearch_add_expression@Base 1:2.2.1
> - ausearch_add_interpreted_item@Base 1:2.2.1
> - ausearch_add_item@Base 1:2.2.1
> - ausearch_add_regex@Base 1:2.2.1
> - ausearch_add_timestamp_item@Base 1:2.2.1
> - ausearch_add_timestamp_item_ex@Base 1:2.4
> - ausearch_clear@Base 1:2.2.1
> - ausearch_next_event@Base 1:2.2.1
> - ausearch_set_stop@Base 1:2.2.1
> - find_config_change_object@Base 1:3.0.5
> diff -Nru audit-3.1.2/debian/libauparse0t64.install 
> audit-3.1.2/debian/libauparse0t64.install
> --- audit-3.1.2/debian/libauparse0t64.install 1970-01-01 00:00:00.000000000 
> +0000
> +++ audit-3.1.2/debian/libauparse0t64.install 2024-01-24 15:05:18.000000000 
> +0000
> @@ -0,0 +1 @@
> +usr/lib/*/libauparse.so.*
> diff -Nru audit-3.1.2/debian/libauparse0t64.lintian-overrides 
> audit-3.1.2/debian/libauparse0t64.lintian-overrides
> --- audit-3.1.2/debian/libauparse0t64.lintian-overrides       1970-01-01 
> 00:00:00.000000000 +0000
> +++ audit-3.1.2/debian/libauparse0t64.lintian-overrides       2024-01-31 
> 08:49:07.000000000 +0000
> @@ -0,0 +1 @@
> +libauparse0t64: package-name-doesnt-match-sonames libauparse0
> diff -Nru audit-3.1.2/debian/libauparse0t64.preinst 
> audit-3.1.2/debian/libauparse0t64.preinst
> --- audit-3.1.2/debian/libauparse0t64.preinst 1970-01-01 00:00:00.000000000 
> +0000
> +++ audit-3.1.2/debian/libauparse0t64.preinst 2024-01-31 20:38:54.000000000 
> +0000
> @@ -0,0 +1,17 @@
> +#!/bin/sh
> +
> +set -e
> +
> +case $1 in
> +     install)
> +             for file in libauparse.so.0 libauparse.so.0.0.0; do
> +                     dpkg-divert --package libauparse0t64 --no-rename \
> +                             --divert \
> +                             /lib/x86_64-linux-gnu/$file.usr-is-merged \
> +                             /lib/x86_64-linux-gnu/$file
> +             done
> +             ;;
> +esac
> +
> +#DEBHELPER#
> +
> diff -Nru audit-3.1.2/debian/libauparse0t64.symbols 
> audit-3.1.2/debian/libauparse0t64.symbols
> --- audit-3.1.2/debian/libauparse0t64.symbols 1970-01-01 00:00:00.000000000 
> +0000
> +++ audit-3.1.2/debian/libauparse0t64.symbols 2024-01-31 08:49:07.000000000 
> +0000
> @@ -0,0 +1,84 @@
> +libauparse.so.0 libauparse0t64 #MINVER#
> +* Build-Depends-Package: libauparse-dev
> + _auparse_flush_caches@Base 1:3.0.5
> + _auparse_free_interpretations@Base 1:2.6
> + _auparse_load_interpretations@Base 1:2.6
> + _auparse_lookup_interpretation@Base 1:2.6.1
> + auparse_add_callback@Base 1:2.2.1
> + auparse_destroy@Base 1:2.2.1
> + auparse_destroy_ext@Base 1:2.7.7
> + auparse_do_interpretation@Base 1:2.3.1
> + auparse_feed@Base 1:2.2.1
> + auparse_feed_age_events@Base 1:2.5.1
> + auparse_feed_has_data@Base 1:2.2.2
> + auparse_feed_has_ready_event@Base 1:3.0.5
> + auparse_find_field@Base 1:2.2.1
> + auparse_find_field_next@Base 1:2.2.1
> + auparse_first_field@Base 1:2.2.1
> + auparse_first_record@Base 1:2.2.1
> + auparse_flush_feed@Base 1:2.2.1
> + auparse_get_field_int@Base 1:2.2.1
> + auparse_get_field_name@Base 1:2.2.1
> + auparse_get_field_num@Base 1:2.7.7
> + auparse_get_field_str@Base 1:2.2.1
> + auparse_get_field_type@Base 1:2.2.1
> + auparse_get_filename@Base 1:2.2.1
> + auparse_get_line_number@Base 1:2.2.1
> + auparse_get_milli@Base 1:2.2.1
> + auparse_get_node@Base 1:2.2.1
> + auparse_get_num_fields@Base 1:2.2.1
> + auparse_get_num_records@Base 1:2.2.1
> + auparse_get_record_interpretations@Base 1:2.6
> + auparse_get_record_num@Base 1:2.7.7
> + auparse_get_record_text@Base 1:2.2.1
> + auparse_get_serial@Base 1:2.2.1
> + auparse_get_time@Base 1:2.2.1
> + auparse_get_timestamp@Base 1:2.2.1
> + auparse_get_type@Base 1:2.2.1
> + auparse_get_type_name@Base 1:2.3.4
> + auparse_goto_field_num@Base 1:2.7.7
> + auparse_goto_record_num@Base 1:2.2.1
> + auparse_init@Base 1:2.2.1
> + auparse_interp_adjust_type@Base 1:2.3.1
> + auparse_interpret_field@Base 1:2.2.1
> + auparse_interpret_realpath@Base 1:2.7.8
> + auparse_interpret_sock_address@Base 1:2.8
> + auparse_interpret_sock_family@Base 1:2.8
> + auparse_interpret_sock_port@Base 1:2.8
> + auparse_new_buffer@Base 1:3.0.5
> + auparse_next_event@Base 1:2.2.1
> + auparse_next_field@Base 1:2.2.1
> + auparse_next_record@Base 1:2.2.1
> + auparse_node_compare@Base 1:2.2.1
> + auparse_normalize@Base 1:2.7.7
> + auparse_normalize_get_action@Base 1:2.7.7
> + auparse_normalize_get_event_kind@Base 1:2.7.7
> + auparse_normalize_get_results@Base 1:2.7.7
> + auparse_normalize_how@Base 1:2.7.7
> + auparse_normalize_key@Base 1:2.7.7
> + auparse_normalize_object_first_attribute@Base 1:2.7.7
> + auparse_normalize_object_kind@Base 1:2.7.7
> + auparse_normalize_object_next_attribute@Base 1:2.7.7
> + auparse_normalize_object_primary2@Base 1:2.8
> + auparse_normalize_object_primary@Base 1:2.7.7
> + auparse_normalize_object_secondary@Base 1:2.7.7
> + auparse_normalize_session@Base 1:2.7.7
> + auparse_normalize_subject_first_attribute@Base 1:2.7.7
> + auparse_normalize_subject_kind@Base 1:2.7.7
> + auparse_normalize_subject_next_attribute@Base 1:2.7.7
> + auparse_normalize_subject_primary@Base 1:2.7.7
> + auparse_normalize_subject_secondary@Base 1:2.7.7
> + auparse_reset@Base 1:2.2.1
> + auparse_set_eoe_timeout@Base 1:3.0.5
> + auparse_set_escape_mode@Base 1:2.4.4
> + auparse_timestamp_compare@Base 1:2.2.1
> + ausearch_add_expression@Base 1:2.2.1
> + ausearch_add_interpreted_item@Base 1:2.2.1
> + ausearch_add_item@Base 1:2.2.1
> + ausearch_add_regex@Base 1:2.2.1
> + ausearch_add_timestamp_item@Base 1:2.2.1
> + ausearch_add_timestamp_item_ex@Base 1:2.4
> + ausearch_clear@Base 1:2.2.1
> + ausearch_next_event@Base 1:2.2.1
> + ausearch_set_stop@Base 1:2.2.1
> + find_config_change_object@Base 1:3.0.5


-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
diff -Nru audit-3.1.2/debian/changelog audit-3.1.2/debian/changelog
--- audit-3.1.2/debian/changelog        2024-01-24 15:05:18.000000000 +0000
+++ audit-3.1.2/debian/changelog        2024-02-02 16:47:59.000000000 +0000
@@ -1,3 +1,25 @@
+audit (1:3.1.2-2.1~exp4) experimental; urgency=medium
+
+  * Fix accidental hard-coding of amd64 architecture paths in diversions.
+
+ -- Steve Langasek <vor...@debian.org>  Fri, 02 Feb 2024 16:47:59 +0000
+
+audit (1:3.1.2-2.1~exp3) experimental; urgency=medium
+
+  * Proper complete fix for usrmerge.  Closes: #1061966.
+
+ -- Steve Langasek <vor...@debian.org>  Wed, 31 Jan 2024 20:39:17 +0000
+
+audit (1:3.1.2-2.1~exp2) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.
+  * Fix uninstallable packages from the previous upload.
+  * Add usrmerge diversions in preinst to protect against file deletion
+    due to libraries moving between packages.  Closes: #1061966.
+
+ -- Steve Langasek <vor...@debian.org>  Wed, 31 Jan 2024 08:49:07 +0000
+
 audit (1:3.1.2-2) unstable; urgency=medium
 
   [ Chris Hofstaedtler ]
diff -Nru audit-3.1.2/debian/clean audit-3.1.2/debian/clean
--- audit-3.1.2/debian/clean    1970-01-01 00:00:00.000000000 +0000
+++ audit-3.1.2/debian/clean    2024-02-02 16:45:43.000000000 +0000
@@ -0,0 +1,2 @@
+debian/libaudit1t64.preinst
+debian/libauparse0t64.preinst
diff -Nru audit-3.1.2/debian/control audit-3.1.2/debian/control
--- audit-3.1.2/debian/control  2024-01-24 15:05:18.000000000 +0000
+++ audit-3.1.2/debian/control  2024-01-31 08:49:07.000000000 +0000
@@ -26,8 +26,8 @@
 Package: auditd
 Section: admin
 Architecture: linux-any
-Depends: libaudit1 (= ${binary:Version}),
-         libauparse0 (= ${binary:Version}),
+Depends: libaudit1t64 (= ${binary:Version}),
+         libauparse0t64 (= ${binary:Version}),
          mawk | gawk,
          ${misc:Depends},
          ${shlibs:Depends}
@@ -41,29 +41,35 @@
  .
  Also contains the audit dispatcher "audisp".
 
-Package: libauparse0
+Package: libauparse0t64
+Provides: ${t64:Provides}
+Replaces: libauparse0
+Breaks: libauparse0 (<< ${source:Version})
 Architecture: linux-any
 Pre-Depends: ${misc:Pre-Depends}
-Depends: libaudit1 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
+Depends: libaudit1t64 (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
 Multi-Arch: same
 Description: Dynamic library for parsing security auditing
  The libauparse package contains the dynamic libraries needed for
  applications to use the audit framework. It is used to monitor systems for
  security related events.
  .
- This package contains the libauparse0 library.
+ This package contains the libauparse0t64 library.
 
 Package: libauparse-dev
 Section: libdevel
 Architecture: linux-any
-Depends: libauparse0 (= ${binary:Version}), ${misc:Depends}
+Depends: libauparse0t64 (= ${binary:Version}), ${misc:Depends}
 Multi-Arch: same
-Description: Header files and static library for the libauparse0 library
+Description: Header files and static library for the libauparse0t64 library
  The audit-libs parse package contains the dynamic libraries needed for
  applications to use the audit framework. It is used to monitor systems for
  security related events.
 
-Package: libaudit1
+Package: libaudit1t64
+Provides: ${t64:Provides}
+Replaces: libaudit1
+Breaks: libaudit1 (<< ${source:Version})
 Architecture: linux-any
 Pre-Depends: ${misc:Pre-Depends}
 Depends: libaudit-common (>= ${source:Version}),
@@ -90,7 +96,7 @@
 Package: libaudit-dev
 Section: libdevel
 Architecture: linux-any
-Depends: libaudit1 (= ${binary:Version}), libcap-ng-dev, ${misc:Depends}
+Depends: libaudit1t64 (= ${binary:Version}), libcap-ng-dev, ${misc:Depends}
 Multi-Arch: same
 Description: Header files and static library for security auditing
  The audit-libs-devel package contains the static libraries and header
@@ -100,8 +106,8 @@
 Package: python3-audit
 Section: python
 Architecture: linux-any
-Depends: libaudit1 (= ${binary:Version}),
-         libauparse0 (= ${binary:Version}),
+Depends: libaudit1t64 (= ${binary:Version}),
+         libauparse0t64 (= ${binary:Version}),
          ${misc:Depends},
          ${python3:Depends},
          ${shlibs:Depends}
@@ -127,7 +133,7 @@
 Section: admin
 Architecture: linux-any
 Depends: auditd (= ${binary:Version}),
-         libauparse0 (= ${binary:Version}),
+         libauparse0t64 (= ${binary:Version}),
          ${misc:Depends},
          ${shlibs:Depends}
 Build-Profiles: <!pkg.audit.noldap>
diff -Nru audit-3.1.2/debian/libaudit1.install 
audit-3.1.2/debian/libaudit1.install
--- audit-3.1.2/debian/libaudit1.install        2024-01-24 15:05:18.000000000 
+0000
+++ audit-3.1.2/debian/libaudit1.install        1970-01-01 00:00:00.000000000 
+0000
@@ -1 +0,0 @@
-usr/lib/*/libaudit.so.*
diff -Nru audit-3.1.2/debian/libaudit1.symbols 
audit-3.1.2/debian/libaudit1.symbols
--- audit-3.1.2/debian/libaudit1.symbols        2024-01-24 15:05:18.000000000 
+0000
+++ audit-3.1.2/debian/libaudit1.symbols        1970-01-01 00:00:00.000000000 
+0000
@@ -1,89 +0,0 @@
-libaudit.so.1 libaudit1 #MINVER#
-* Build-Depends-Package: libaudit-dev
- __audit_send@Base 1:2.8.2
- _audit_archadded@Base 1:2.2.1
- _audit_elf@Base 1:2.2.1
- _audit_exeadded@Base 1:2.5.1
- _audit_filterfsadded@Base 1:2.8
- _audit_permadded@Base 1:2.2.1
- _audit_syscalladded@Base 1:2.2.1
- audit_action_to_name@Base 1:2.2.1
- audit_add_rule_data@Base 1:2.2.1
- audit_add_watch@Base 1:2.2.1
- audit_add_watch_dir@Base 1:2.2.1
- audit_can_control@Base 1:2.6.1
- audit_can_read@Base 1:2.6.1
- audit_can_write@Base 1:2.6.1
- audit_close@Base 1:2.2.1
- audit_delete_rule_data@Base 1:2.2.1
- audit_detect_machine@Base 1:2.2.1
- audit_determine_machine@Base 1:2.3.6
- audit_elf_to_machine@Base 1:2.2.1
- audit_encode_nv_string@Base 1:2.2.1
- audit_encode_value@Base 1:2.2.1
- audit_errno_to_name@Base 1:2.2.1
- audit_field_to_name@Base 1:2.2.1
- audit_flag_to_name@Base 1:2.2.1
- audit_format_signal_info@Base 1:3.0~alpha9
- audit_fstype_to_name@Base 1:2.8
- audit_ftype_to_name@Base 1:2.2.1
- audit_get_features@Base 1:2.5.1
- audit_get_reply@Base 1:2.2.1
- audit_get_session@Base 1:2.7.7
- audit_getloginuid@Base 1:2.2.1
- audit_is_enabled@Base 1:2.2.1
- audit_log_acct_message@Base 1:2.2.1
- audit_log_semanage_message@Base 1:2.2.1
- audit_log_user_avc_message@Base 1:2.2.1
- audit_log_user_comm_message@Base 1:2.2.1
- audit_log_user_command@Base 1:2.2.1
- audit_log_user_message@Base 1:2.2.1
- audit_machine_to_elf@Base 1:2.2.1
- audit_machine_to_name@Base 1:2.2.1
- audit_make_equivalent@Base 1:2.2.1
- audit_msg@Base 1:2.2.1
- audit_msg_type_to_name@Base 1:2.2.1
- audit_name_to_action@Base 1:2.2.1
- audit_name_to_errno@Base 1:2.2.1
- audit_name_to_field@Base 1:2.2.1
- audit_name_to_flag@Base 1:2.2.1
- audit_name_to_fstype@Base 1:2.8
- audit_name_to_ftype@Base 1:2.2.1
- audit_name_to_machine@Base 1:2.2.1
- audit_name_to_msg_type@Base 1:2.2.1
- audit_name_to_syscall@Base 1:2.2.1
- audit_name_to_uringop@Base 1:3.1.1
- audit_number_to_errmsg@Base 1:2.2.1
- audit_open@Base 1:2.2.1
- audit_operator_to_symbol@Base 1:2.2.1
- audit_request_features@Base 1:2.4
- audit_request_rules_list_data@Base 1:2.2.1
- audit_request_signal_info@Base 1:2.2.1
- audit_request_status@Base 1:2.2.1
- audit_reset_backlog_wait_time_actual@Base 1:3.0
- audit_reset_lost@Base 1:2.7.7
- audit_rule_create_data@Base 1:3.0~alpha9
- audit_rule_fieldpair_data@Base 1:2.2.1
- audit_rule_free_data@Base 1:2.2.1
- audit_rule_init_data@Base 1:3.0~alpha9
- audit_rule_interfield_comp_data@Base 1:2.2.1
- audit_rule_io_uringbyname_data@Base 1:3.1.1
- audit_rule_syscall_data@Base 1:2.2.1
- audit_rule_syscallbyname_data@Base 1:2.2.1
- audit_send@Base 1:2.2.1
- audit_set_backlog_limit@Base 1:2.2.1
- audit_set_backlog_wait_time@Base 1:2.4.2
- audit_set_enabled@Base 1:2.2.1
- audit_set_failure@Base 1:2.2.1
- audit_set_feature@Base 1:2.4
- audit_set_loginuid_immutable@Base 1:2.4
- audit_set_pid@Base 1:2.2.1
- audit_set_rate_limit@Base 1:2.2.1
- audit_setloginuid@Base 1:2.2.1
- audit_syscall_to_name@Base 1:2.2.1
- audit_trim_subtrees@Base 1:2.2.1
- audit_update_watch_perms@Base 1:2.2.1
- audit_uringop_to_name@Base 1:3.1.1
- audit_value_needs_encoding@Base 1:2.2.1
- get_auditfail_action@Base 1:2.2.1
- set_aumessage_mode@Base 1:2.2.1
diff -Nru audit-3.1.2/debian/libaudit1t64.install 
audit-3.1.2/debian/libaudit1t64.install
--- audit-3.1.2/debian/libaudit1t64.install     1970-01-01 00:00:00.000000000 
+0000
+++ audit-3.1.2/debian/libaudit1t64.install     2024-01-24 15:05:18.000000000 
+0000
@@ -0,0 +1 @@
+usr/lib/*/libaudit.so.*
diff -Nru audit-3.1.2/debian/libaudit1t64.lintian-overrides 
audit-3.1.2/debian/libaudit1t64.lintian-overrides
--- audit-3.1.2/debian/libaudit1t64.lintian-overrides   1970-01-01 
00:00:00.000000000 +0000
+++ audit-3.1.2/debian/libaudit1t64.lintian-overrides   2024-01-31 
08:49:07.000000000 +0000
@@ -0,0 +1 @@
+libaudit1t64: package-name-doesnt-match-sonames libaudit1
diff -Nru audit-3.1.2/debian/libaudit1t64.preinst.in 
audit-3.1.2/debian/libaudit1t64.preinst.in
--- audit-3.1.2/debian/libaudit1t64.preinst.in  1970-01-01 00:00:00.000000000 
+0000
+++ audit-3.1.2/debian/libaudit1t64.preinst.in  2024-01-31 20:37:58.000000000 
+0000
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+case $1 in
+       install)
+               for file in libaudit.so.1 libaudit.so.1.0.0; do
+                       dpkg-divert --package libaudit1t64 --no-rename \
+                               --divert \
+                               /lib/x86_64-linux-gnu/$file.usr-is-merged \
+                               /lib/x86_64-linux-gnu/$file
+               done
+               ;;
+esac
+
+#DEBHELPER#
diff -Nru audit-3.1.2/debian/libaudit1t64.symbols 
audit-3.1.2/debian/libaudit1t64.symbols
--- audit-3.1.2/debian/libaudit1t64.symbols     1970-01-01 00:00:00.000000000 
+0000
+++ audit-3.1.2/debian/libaudit1t64.symbols     2024-01-31 08:49:07.000000000 
+0000
@@ -0,0 +1,89 @@
+libaudit.so.1 libaudit1t64 #MINVER#
+* Build-Depends-Package: libaudit-dev
+ __audit_send@Base 1:2.8.2
+ _audit_archadded@Base 1:2.2.1
+ _audit_elf@Base 1:2.2.1
+ _audit_exeadded@Base 1:2.5.1
+ _audit_filterfsadded@Base 1:2.8
+ _audit_permadded@Base 1:2.2.1
+ _audit_syscalladded@Base 1:2.2.1
+ audit_action_to_name@Base 1:2.2.1
+ audit_add_rule_data@Base 1:2.2.1
+ audit_add_watch@Base 1:2.2.1
+ audit_add_watch_dir@Base 1:2.2.1
+ audit_can_control@Base 1:2.6.1
+ audit_can_read@Base 1:2.6.1
+ audit_can_write@Base 1:2.6.1
+ audit_close@Base 1:2.2.1
+ audit_delete_rule_data@Base 1:2.2.1
+ audit_detect_machine@Base 1:2.2.1
+ audit_determine_machine@Base 1:2.3.6
+ audit_elf_to_machine@Base 1:2.2.1
+ audit_encode_nv_string@Base 1:2.2.1
+ audit_encode_value@Base 1:2.2.1
+ audit_errno_to_name@Base 1:2.2.1
+ audit_field_to_name@Base 1:2.2.1
+ audit_flag_to_name@Base 1:2.2.1
+ audit_format_signal_info@Base 1:3.0~alpha9
+ audit_fstype_to_name@Base 1:2.8
+ audit_ftype_to_name@Base 1:2.2.1
+ audit_get_features@Base 1:2.5.1
+ audit_get_reply@Base 1:2.2.1
+ audit_get_session@Base 1:2.7.7
+ audit_getloginuid@Base 1:2.2.1
+ audit_is_enabled@Base 1:2.2.1
+ audit_log_acct_message@Base 1:2.2.1
+ audit_log_semanage_message@Base 1:2.2.1
+ audit_log_user_avc_message@Base 1:2.2.1
+ audit_log_user_comm_message@Base 1:2.2.1
+ audit_log_user_command@Base 1:2.2.1
+ audit_log_user_message@Base 1:2.2.1
+ audit_machine_to_elf@Base 1:2.2.1
+ audit_machine_to_name@Base 1:2.2.1
+ audit_make_equivalent@Base 1:2.2.1
+ audit_msg@Base 1:2.2.1
+ audit_msg_type_to_name@Base 1:2.2.1
+ audit_name_to_action@Base 1:2.2.1
+ audit_name_to_errno@Base 1:2.2.1
+ audit_name_to_field@Base 1:2.2.1
+ audit_name_to_flag@Base 1:2.2.1
+ audit_name_to_fstype@Base 1:2.8
+ audit_name_to_ftype@Base 1:2.2.1
+ audit_name_to_machine@Base 1:2.2.1
+ audit_name_to_msg_type@Base 1:2.2.1
+ audit_name_to_syscall@Base 1:2.2.1
+ audit_name_to_uringop@Base 1:3.1.1
+ audit_number_to_errmsg@Base 1:2.2.1
+ audit_open@Base 1:2.2.1
+ audit_operator_to_symbol@Base 1:2.2.1
+ audit_request_features@Base 1:2.4
+ audit_request_rules_list_data@Base 1:2.2.1
+ audit_request_signal_info@Base 1:2.2.1
+ audit_request_status@Base 1:2.2.1
+ audit_reset_backlog_wait_time_actual@Base 1:3.0
+ audit_reset_lost@Base 1:2.7.7
+ audit_rule_create_data@Base 1:3.0~alpha9
+ audit_rule_fieldpair_data@Base 1:2.2.1
+ audit_rule_free_data@Base 1:2.2.1
+ audit_rule_init_data@Base 1:3.0~alpha9
+ audit_rule_interfield_comp_data@Base 1:2.2.1
+ audit_rule_io_uringbyname_data@Base 1:3.1.1
+ audit_rule_syscall_data@Base 1:2.2.1
+ audit_rule_syscallbyname_data@Base 1:2.2.1
+ audit_send@Base 1:2.2.1
+ audit_set_backlog_limit@Base 1:2.2.1
+ audit_set_backlog_wait_time@Base 1:2.4.2
+ audit_set_enabled@Base 1:2.2.1
+ audit_set_failure@Base 1:2.2.1
+ audit_set_feature@Base 1:2.4
+ audit_set_loginuid_immutable@Base 1:2.4
+ audit_set_pid@Base 1:2.2.1
+ audit_set_rate_limit@Base 1:2.2.1
+ audit_setloginuid@Base 1:2.2.1
+ audit_syscall_to_name@Base 1:2.2.1
+ audit_trim_subtrees@Base 1:2.2.1
+ audit_update_watch_perms@Base 1:2.2.1
+ audit_uringop_to_name@Base 1:3.1.1
+ audit_value_needs_encoding@Base 1:2.2.1
+ get_auditfail_action@Base 1:2.2.1
+ set_aumessage_mode@Base 1:2.2.1
diff -Nru audit-3.1.2/debian/libauparse0.install 
audit-3.1.2/debian/libauparse0.install
--- audit-3.1.2/debian/libauparse0.install      2024-01-24 15:05:18.000000000 
+0000
+++ audit-3.1.2/debian/libauparse0.install      1970-01-01 00:00:00.000000000 
+0000
@@ -1 +0,0 @@
-usr/lib/*/libauparse.so.*
diff -Nru audit-3.1.2/debian/libauparse0.symbols 
audit-3.1.2/debian/libauparse0.symbols
--- audit-3.1.2/debian/libauparse0.symbols      2024-01-24 15:05:18.000000000 
+0000
+++ audit-3.1.2/debian/libauparse0.symbols      1970-01-01 00:00:00.000000000 
+0000
@@ -1,84 +0,0 @@
-libauparse.so.0 libauparse0 #MINVER#
-* Build-Depends-Package: libauparse-dev
- _auparse_flush_caches@Base 1:3.0.5
- _auparse_free_interpretations@Base 1:2.6
- _auparse_load_interpretations@Base 1:2.6
- _auparse_lookup_interpretation@Base 1:2.6.1
- auparse_add_callback@Base 1:2.2.1
- auparse_destroy@Base 1:2.2.1
- auparse_destroy_ext@Base 1:2.7.7
- auparse_do_interpretation@Base 1:2.3.1
- auparse_feed@Base 1:2.2.1
- auparse_feed_age_events@Base 1:2.5.1
- auparse_feed_has_data@Base 1:2.2.2
- auparse_feed_has_ready_event@Base 1:3.0.5
- auparse_find_field@Base 1:2.2.1
- auparse_find_field_next@Base 1:2.2.1
- auparse_first_field@Base 1:2.2.1
- auparse_first_record@Base 1:2.2.1
- auparse_flush_feed@Base 1:2.2.1
- auparse_get_field_int@Base 1:2.2.1
- auparse_get_field_name@Base 1:2.2.1
- auparse_get_field_num@Base 1:2.7.7
- auparse_get_field_str@Base 1:2.2.1
- auparse_get_field_type@Base 1:2.2.1
- auparse_get_filename@Base 1:2.2.1
- auparse_get_line_number@Base 1:2.2.1
- auparse_get_milli@Base 1:2.2.1
- auparse_get_node@Base 1:2.2.1
- auparse_get_num_fields@Base 1:2.2.1
- auparse_get_num_records@Base 1:2.2.1
- auparse_get_record_interpretations@Base 1:2.6
- auparse_get_record_num@Base 1:2.7.7
- auparse_get_record_text@Base 1:2.2.1
- auparse_get_serial@Base 1:2.2.1
- auparse_get_time@Base 1:2.2.1
- auparse_get_timestamp@Base 1:2.2.1
- auparse_get_type@Base 1:2.2.1
- auparse_get_type_name@Base 1:2.3.4
- auparse_goto_field_num@Base 1:2.7.7
- auparse_goto_record_num@Base 1:2.2.1
- auparse_init@Base 1:2.2.1
- auparse_interp_adjust_type@Base 1:2.3.1
- auparse_interpret_field@Base 1:2.2.1
- auparse_interpret_realpath@Base 1:2.7.8
- auparse_interpret_sock_address@Base 1:2.8
- auparse_interpret_sock_family@Base 1:2.8
- auparse_interpret_sock_port@Base 1:2.8
- auparse_new_buffer@Base 1:3.0.5
- auparse_next_event@Base 1:2.2.1
- auparse_next_field@Base 1:2.2.1
- auparse_next_record@Base 1:2.2.1
- auparse_node_compare@Base 1:2.2.1
- auparse_normalize@Base 1:2.7.7
- auparse_normalize_get_action@Base 1:2.7.7
- auparse_normalize_get_event_kind@Base 1:2.7.7
- auparse_normalize_get_results@Base 1:2.7.7
- auparse_normalize_how@Base 1:2.7.7
- auparse_normalize_key@Base 1:2.7.7
- auparse_normalize_object_first_attribute@Base 1:2.7.7
- auparse_normalize_object_kind@Base 1:2.7.7
- auparse_normalize_object_next_attribute@Base 1:2.7.7
- auparse_normalize_object_primary2@Base 1:2.8
- auparse_normalize_object_primary@Base 1:2.7.7
- auparse_normalize_object_secondary@Base 1:2.7.7
- auparse_normalize_session@Base 1:2.7.7
- auparse_normalize_subject_first_attribute@Base 1:2.7.7
- auparse_normalize_subject_kind@Base 1:2.7.7
- auparse_normalize_subject_next_attribute@Base 1:2.7.7
- auparse_normalize_subject_primary@Base 1:2.7.7
- auparse_normalize_subject_secondary@Base 1:2.7.7
- auparse_reset@Base 1:2.2.1
- auparse_set_eoe_timeout@Base 1:3.0.5
- auparse_set_escape_mode@Base 1:2.4.4
- auparse_timestamp_compare@Base 1:2.2.1
- ausearch_add_expression@Base 1:2.2.1
- ausearch_add_interpreted_item@Base 1:2.2.1
- ausearch_add_item@Base 1:2.2.1
- ausearch_add_regex@Base 1:2.2.1
- ausearch_add_timestamp_item@Base 1:2.2.1
- ausearch_add_timestamp_item_ex@Base 1:2.4
- ausearch_clear@Base 1:2.2.1
- ausearch_next_event@Base 1:2.2.1
- ausearch_set_stop@Base 1:2.2.1
- find_config_change_object@Base 1:3.0.5
diff -Nru audit-3.1.2/debian/libauparse0t64.install 
audit-3.1.2/debian/libauparse0t64.install
--- audit-3.1.2/debian/libauparse0t64.install   1970-01-01 00:00:00.000000000 
+0000
+++ audit-3.1.2/debian/libauparse0t64.install   2024-01-24 15:05:18.000000000 
+0000
@@ -0,0 +1 @@
+usr/lib/*/libauparse.so.*
diff -Nru audit-3.1.2/debian/libauparse0t64.lintian-overrides 
audit-3.1.2/debian/libauparse0t64.lintian-overrides
--- audit-3.1.2/debian/libauparse0t64.lintian-overrides 1970-01-01 
00:00:00.000000000 +0000
+++ audit-3.1.2/debian/libauparse0t64.lintian-overrides 2024-01-31 
08:49:07.000000000 +0000
@@ -0,0 +1 @@
+libauparse0t64: package-name-doesnt-match-sonames libauparse0
diff -Nru audit-3.1.2/debian/libauparse0t64.preinst.in 
audit-3.1.2/debian/libauparse0t64.preinst.in
--- audit-3.1.2/debian/libauparse0t64.preinst.in        1970-01-01 
00:00:00.000000000 +0000
+++ audit-3.1.2/debian/libauparse0t64.preinst.in        2024-01-31 
20:38:54.000000000 +0000
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+set -e
+
+case $1 in
+       install)
+               for file in libauparse.so.0 libauparse.so.0.0.0; do
+                       dpkg-divert --package libauparse0t64 --no-rename \
+                               --divert \
+                               /lib/x86_64-linux-gnu/$file.usr-is-merged \
+                               /lib/x86_64-linux-gnu/$file
+               done
+               ;;
+esac
+
+#DEBHELPER#
+
diff -Nru audit-3.1.2/debian/libauparse0t64.symbols 
audit-3.1.2/debian/libauparse0t64.symbols
--- audit-3.1.2/debian/libauparse0t64.symbols   1970-01-01 00:00:00.000000000 
+0000
+++ audit-3.1.2/debian/libauparse0t64.symbols   2024-01-31 08:49:07.000000000 
+0000
@@ -0,0 +1,84 @@
+libauparse.so.0 libauparse0t64 #MINVER#
+* Build-Depends-Package: libauparse-dev
+ _auparse_flush_caches@Base 1:3.0.5
+ _auparse_free_interpretations@Base 1:2.6
+ _auparse_load_interpretations@Base 1:2.6
+ _auparse_lookup_interpretation@Base 1:2.6.1
+ auparse_add_callback@Base 1:2.2.1
+ auparse_destroy@Base 1:2.2.1
+ auparse_destroy_ext@Base 1:2.7.7
+ auparse_do_interpretation@Base 1:2.3.1
+ auparse_feed@Base 1:2.2.1
+ auparse_feed_age_events@Base 1:2.5.1
+ auparse_feed_has_data@Base 1:2.2.2
+ auparse_feed_has_ready_event@Base 1:3.0.5
+ auparse_find_field@Base 1:2.2.1
+ auparse_find_field_next@Base 1:2.2.1
+ auparse_first_field@Base 1:2.2.1
+ auparse_first_record@Base 1:2.2.1
+ auparse_flush_feed@Base 1:2.2.1
+ auparse_get_field_int@Base 1:2.2.1
+ auparse_get_field_name@Base 1:2.2.1
+ auparse_get_field_num@Base 1:2.7.7
+ auparse_get_field_str@Base 1:2.2.1
+ auparse_get_field_type@Base 1:2.2.1
+ auparse_get_filename@Base 1:2.2.1
+ auparse_get_line_number@Base 1:2.2.1
+ auparse_get_milli@Base 1:2.2.1
+ auparse_get_node@Base 1:2.2.1
+ auparse_get_num_fields@Base 1:2.2.1
+ auparse_get_num_records@Base 1:2.2.1
+ auparse_get_record_interpretations@Base 1:2.6
+ auparse_get_record_num@Base 1:2.7.7
+ auparse_get_record_text@Base 1:2.2.1
+ auparse_get_serial@Base 1:2.2.1
+ auparse_get_time@Base 1:2.2.1
+ auparse_get_timestamp@Base 1:2.2.1
+ auparse_get_type@Base 1:2.2.1
+ auparse_get_type_name@Base 1:2.3.4
+ auparse_goto_field_num@Base 1:2.7.7
+ auparse_goto_record_num@Base 1:2.2.1
+ auparse_init@Base 1:2.2.1
+ auparse_interp_adjust_type@Base 1:2.3.1
+ auparse_interpret_field@Base 1:2.2.1
+ auparse_interpret_realpath@Base 1:2.7.8
+ auparse_interpret_sock_address@Base 1:2.8
+ auparse_interpret_sock_family@Base 1:2.8
+ auparse_interpret_sock_port@Base 1:2.8
+ auparse_new_buffer@Base 1:3.0.5
+ auparse_next_event@Base 1:2.2.1
+ auparse_next_field@Base 1:2.2.1
+ auparse_next_record@Base 1:2.2.1
+ auparse_node_compare@Base 1:2.2.1
+ auparse_normalize@Base 1:2.7.7
+ auparse_normalize_get_action@Base 1:2.7.7
+ auparse_normalize_get_event_kind@Base 1:2.7.7
+ auparse_normalize_get_results@Base 1:2.7.7
+ auparse_normalize_how@Base 1:2.7.7
+ auparse_normalize_key@Base 1:2.7.7
+ auparse_normalize_object_first_attribute@Base 1:2.7.7
+ auparse_normalize_object_kind@Base 1:2.7.7
+ auparse_normalize_object_next_attribute@Base 1:2.7.7
+ auparse_normalize_object_primary2@Base 1:2.8
+ auparse_normalize_object_primary@Base 1:2.7.7
+ auparse_normalize_object_secondary@Base 1:2.7.7
+ auparse_normalize_session@Base 1:2.7.7
+ auparse_normalize_subject_first_attribute@Base 1:2.7.7
+ auparse_normalize_subject_kind@Base 1:2.7.7
+ auparse_normalize_subject_next_attribute@Base 1:2.7.7
+ auparse_normalize_subject_primary@Base 1:2.7.7
+ auparse_normalize_subject_secondary@Base 1:2.7.7
+ auparse_reset@Base 1:2.2.1
+ auparse_set_eoe_timeout@Base 1:3.0.5
+ auparse_set_escape_mode@Base 1:2.4.4
+ auparse_timestamp_compare@Base 1:2.2.1
+ ausearch_add_expression@Base 1:2.2.1
+ ausearch_add_interpreted_item@Base 1:2.2.1
+ ausearch_add_item@Base 1:2.2.1
+ ausearch_add_regex@Base 1:2.2.1
+ ausearch_add_timestamp_item@Base 1:2.2.1
+ ausearch_add_timestamp_item_ex@Base 1:2.4
+ ausearch_clear@Base 1:2.2.1
+ ausearch_next_event@Base 1:2.2.1
+ ausearch_set_stop@Base 1:2.2.1
+ find_config_change_object@Base 1:3.0.5
diff -Nru audit-3.1.2/debian/rules audit-3.1.2/debian/rules
--- audit-3.1.2/debian/rules    2024-01-24 15:05:18.000000000 +0000
+++ audit-3.1.2/debian/rules    2024-02-02 16:47:59.000000000 +0000
@@ -109,6 +109,12 @@
        chgrp adm debian/auditd/var/log/audit
        chmod -R o-rwx debian/auditd/etc/audit debian/audispd-plugins/etc/audit
 
+override_dh_installdeb:
+       for pkg in libaudit1t64 libauparse0t64; do \
+               sed -e"s/#DEB_HOST_MULTIARCH#/$(DEB_HOST_MULTIARCH)/" \
+                       debian/$$pkg.preinst.in > debian/$$pkg.preinst; \
+       done
+
 get-orig-source:
        -uscan --upstream-version 0
 

Attachment: signature.asc
Description: PGP signature

Reply via email to