public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
	Friedrich Weber <f.weber@proxmox.com>
Subject: Re: [pve-devel] [PATCH ifupdown2] debian: postinst: ensure /etc/iproute2/rt_tables.d exists
Date: Tue, 8 Jul 2025 19:01:13 +0200	[thread overview]
Message-ID: <1dfdf8a9-2632-4a16-8f7c-e17dad435a2f@proxmox.com> (raw)
In-Reply-To: <20250708164344.104855-1-f.weber@proxmox.com>

Am 08.07.25 um 18:43 schrieb Friedrich Weber:
> When upgrading to Debian Trixie, iproute2 is also upgraded. Its
> postinst deletes /etc/iproute2/rt_tables.d if it is currently empty
> (or only contains a README file) [1]. After that, ifreload -a will
> always print a warning:
> 
>> error: [Errno 2] No such file or directory: '/etc/iproute2/rt_tables.d/ifupdown2_vrf_map.conf'
> 
> because it cannot create the file if the parent directory does not
> exist.
> 
> To avoid that, create the directory in ifupdown2's postinst if it
> does not exist yet.
> 
> Commit b115f7f ("add /etc/iproute2/rt_tables.d/ to managed
> directories") already added the directory to ifupdown2.dirs, but this
> does not seem to be effective, due to the following sequence of events
> on upgrade:
> 
> 1) iproute2 is unpacked
> 2) ifupdown2 is unpacked. The directory still exists, so the
>    ifupdown2.dirs entry does not have an effect
> 3) ifroute2 is set up, and its postinst empties and removes the

s/if/ip/ (can be fixed up on applying).

>    directory
> 4) ifupdown2 is set up
> 
> [1] https://sources.debian.org/src/iproute2/6.15.0-1/debian/iproute2.postinst/
> 
> Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
> ---
> 
> Notes:
>     Please check the reasoning for plausibility, my understanding of dpkg
>     is very basic, this is just what I could infer from running strace on
>     the upgrade.

Seems plausible as unpacking happens before configuring the pacakges.

>     
>     An alternative solution would be to patch ifupdown2 itself to create
>     the directory (if needed) before trying to write to the
>     ifupdown2_vrf_map.conf file.

That might be slightly more robust and should be IMO what upstream should
do already, that said, it's a very specific case and not having to touch
the python code has its advantages, so the patch here would be fine for
me in general.

> 
>  debian/ifupdown2.postinst | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/debian/ifupdown2.postinst b/debian/ifupdown2.postinst
> index f9a719c..13cc987 100644
> --- a/debian/ifupdown2.postinst
> +++ b/debian/ifupdown2.postinst
> @@ -111,6 +111,9 @@ case "$1" in
>          process_udev
>          chmod +x /usr/share/ifupdown2/__main__.py
>          postinst_remove_diverts
> +        if [ ! -d /etc/iproute2/rt_tables.d ]; then
> +            mkdir /etc/iproute2/rt_tables.d || echo "could not create /etc/iproute2/rt_tables.d"
> +        fi
>          if [ -z "$2" ] && [ ! -e /proxmox_install_mode ]; then
>              proxmox_compatibility
>              echo "Reloading network config on first install"



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  reply	other threads:[~2025-07-08 17:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-08 16:43 Friedrich Weber
2025-07-08 17:01 ` Thomas Lamprecht [this message]
2025-07-09  6:40   ` Friedrich Weber
2025-07-09  8:01     ` [pve-devel] applied: " Thomas Lamprecht
2025-07-08 17:32 ` [pve-devel] " Michael Köppl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1dfdf8a9-2632-4a16-8f7c-e17dad435a2f@proxmox.com \
    --to=t.lamprecht@proxmox.com \
    --cc=f.weber@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal