

I don't know the answer to that as I did not set up your system. First thing I would want to know is what is pulling it in during updates? After it is installed either with update or --oneshot, try a depclean with pretend and see what is requiring it as a dependencyWhat's the right thing to do with this if I don't want dhcp running?
Code: Select all
emerge -pv --depclean dhcpcd


Code: Select all
dhcp? ( || ( net-misc/dhcpcd net-misc/dhcp[client] ) )
Code: Select all
If you don't want ANY address (only useful when calling for advanced stuff)
config_eth0="null"
From netifrc ebuild,Bili Oslavi wrote:Thanks everyone for your answers. All very helpful.
emerge -pv --depclean dhcpcd
Calculating dependencies... done!
net-misc/dhcpcd-9.5.1 pulled in by:
net-misc/netifrc-0.7.5 requires net-misc/dhcpcd
net-misc/netifrc: "This package contains the Gentoo network interface management scripts, which were separated from OpenRC"
It doesn't sound like I should nuke itThe package has existed since 2019, and I probably had it installed since then given
what it contains. So something was changed in net-misc/netifrc in the last few months to make dhcpcd active by default.
Maybe it's from when this was put in:
net/dhcpcd.sh: adapt to dhcpcd-10 versioning 2023-04-17
.
I'll check with those guys.
Code: Select all
IUSE="+dhcp"
RDEPEND="sys-apps/gentoo-functions
>=sys-apps/openrc-0.15
dhcp? ( || ( net-misc/dhcpcd net-misc/dhcp[client] ) )"

This was my first take on it as well. I tried the -dhcp flag as a USE, and also in make.conf. Still getsFrom netifrc ebuild, .... set USE="-dhcp" for net-misc/netifrc.
A workaround could to configure Dhcpcd in a way that it will start but will manage no network interface in /etc/dhcpcd.conf.
This will only work if you have explicitly enabled network services you want started.grknight wrote:Alternatively, this could be caused by the default behaviour of OpenRC to run all providers of "net".
Creating/editing /etc/conf.d/dhcpcd to say rc_provide="!net" would eliminate this if dhcpcd is not to manage interfaces on a machine.
This is why I say add/edit the conf.d file to remove net and it will never be started by a dynamic runlevel.szatox wrote:This will only work if you have explicitly enabled network services you want started.grknight wrote:Alternatively, this could be caused by the default behaviour of OpenRC to run all providers of "net".
Creating/editing /etc/conf.d/dhcpcd to say rc_provide="!net" would eliminate this if dhcpcd is not to manage interfaces on a machine.
Otherwise it starts things providing net in alphabetical order, one by one, ignoring the fact that some net down the list might be a better fit, and then you suddenly end up with rc-status reporting dhcpcd started by dependency listed under "dynamic runlevel: manual".
Which is why I consider current implementation of dependencies in openrc to be broken.
Wouldn't this be a bug in openrc? Having to use a dhcpcd config file to have openrc not start a dhcpd service seems like an odd approach, especially given the -dhcp USE flag.grknight wrote:This is why I say add/edit the conf.d file to remove net and it will never be started by a dynamic runlevel.szatox wrote:This will only work if you have explicitly enabled network services you want started.grknight wrote:Alternatively, this could be caused by the default behaviour of OpenRC to run all providers of "net".
Creating/editing /etc/conf.d/dhcpcd to say rc_provide="!net" would eliminate this if dhcpcd is not to manage interfaces on a machine.
Otherwise it starts things providing net in alphabetical order, one by one, ignoring the fact that some net down the list might be a better fit, and then you suddenly end up with rc-status reporting dhcpcd started by dependency listed under "dynamic runlevel: manual".
Which is why I consider current implementation of dependencies in openrc to be broken.

If you put net-misc/netifrc -dhcpBili Oslavi wrote:So in summary,
net-misc/netifrc now pulls in dhcpcd in an activated form during install. This wipes out any static IP's set
in /etc/conf.d/net once the system is rebooted.
It's possible to just unmerge dhcpcd or remove the rc init for dhcpcd, but it gets pulled back in with world
updates so that's annoying.
FWIW, I've found the simplest way around this so far is just to add an "ipv6only" flag into /etc/dhcpcd.conf.
This seems to stop dhcpcd from hijacking the ipv4 space even when static IP's are configured.
Many new people want DHCP and are lost without one installed.Bili Oslavi wrote:So in summary,
net-misc/netifrc now pulls in dhcpcd in an activated form during install. This wipes out any static IP's set
in /etc/conf.d/net once the system is rebooted.
It's possible to just unmerge dhcpcd or remove the rc init for dhcpcd, but it gets pulled back in with world
updates so that's annoying.
FWIW, I've found the simplest way around this so far is just to add an "ipv6only" flag into /etc/dhcpcd.conf.
This seems to stop dhcpcd from hijacking the ipv4 space even when static IP's are configured.
Fair point. Too bad the chosen dhcp provider happens to install a conflicting service.Many new people want DHCP and are lost without one installed.
Code: Select all
/lib/netifrc/net # ls *dhc*
dhclient.sh dhclientv6.sh dhcpcd.sh udhcpc.sh
This is still how it is. The problem becomes if dhcpcd is run in "manager" mode which defaults to watching all interface for connections. The "manager" is started via the dhcpcd service.szatox wrote:AFAIR this is a result of change to dhcpcd though. Netifrc was able to use dhcpcd per-interface-client since before dhcpcd got upgraded to a system-wide-service and never dropped it afterwards.
What is the point of netifrc if dhcpd is in manager mode ? (I for one have only dhcpd on my machines). Looks like they are trying to do step on each other feet in this case.grknight wrote:This is still how it is. The problem becomes if dhcpcd is run in "manager" mode which defaults to watching all interface for connections. The "manager" is started via the dhcpcd service.szatox wrote:AFAIR this is a result of change to dhcpcd though. Netifrc was able to use dhcpcd per-interface-client since before dhcpcd got upgraded to a system-wide-service and never dropped it afterwards.
netifrc still uses per-interface.
The key with static configurations is controlling what service is started.
