-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
strongswan: Add dependency to virtual package strongswan-mod-socket #16263
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please don't add the -virt
suffix, we don't do that anywhere for PROVIDES and it will confuse people. Rather just let both of them provide strongswan-mod-socket
and then depend on that.
7bbb212
to
5af42d5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The patch itself looks good. Please change the commit description to no longer mention -virt
suffix.
355976b
to
4c79aed
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple of questions...
net/strongswan/Makefile
Outdated
$$(call Package/strongswan/Default) | ||
TITLE:= StrongSwan $(2) plugin | ||
DEPENDS:= strongswan $(3) | ||
PROVIDES:= strongswan-mod-socket |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this the big difference? This line here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes.
net/strongswan/Makefile
Outdated
PROVIDES:= strongswan-mod-socket | ||
endef | ||
|
||
define Package/strongswan-mod-$(1)/install |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can't chain to the one below? These look identical...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How? The defines have defined ends, declared by endef
.
If I were to chain it by starting the define for the BuildPluginModSocketVirt
just before the one for BuildPlugin
without terminating it beforehand (instead, afterwards), any call to BuildPlugin
would declare a version of BuildPlugin where
That's not good. It'd at best throw an error.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we unnested, and had them both BuildPlugin*
's invoke the common version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried that, but it's one more level of nesting and I couldn't make it work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Merged both PR's as #16367
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When I did that, make
complained all the other calls to the function didn't have a fourth argument.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we can solve that without adding the fourth argument to all calls, by adding a wrapper function. Rename BuildPlugin to BuildPluginProvides, and add:
define BuildPlugin
$(call BuildPluginProvides,$1,$2,$3,)
endef
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See PR #16367.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any consensus?
I don't like the macro name BuildPluginModSocketVirt
because it's more specific than the real essence of the macro...
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Needs a rebase. |
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Builds for me. |
Needs a rebase. |
4c79aed
to
cab3024
Compare
Builds and constructs the right dependencies here. strongswan-full and -minimal (metapackages) depend on socket-default, but strongswan-charon depends on strongswan-mod-socket, which is a virtual package provided by -socket-default and -socket-dynamic. So if somebody wants to uninstall -socket-default but has socket-default and -socket-dynamic, dependencies of strongswan-full and -minimal will not be satisfied anymore. If the user uninstalls them then the only dependencies on strongswan packges that are from an explicitly installed packages are from -mod-socket-dynamic which requires strongswan and libc. strongswan only packages libstrongswan. So in total if somebody switches to -socket-dynamic, removes -socket-default, and removes all unrequired packages, they will have an incomplete and unusable installation of strongwan. We could fix that by making -full and -minimal depend on -mod-socket. So it's a dependency on the virtual package. @pprindeville thoughts? |
All the other expressions in the file have exactly one plus. Do you know better in that regard? It still throws syntax errors when building. |
Required to model the dependency of the charon daemon onto one of the two socket abstractions Otherwise none will be installed and the daemon is not usable Closes openwrt#16261 Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting>
Closes openwrt#16261 Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting>
Closes openwrt#16261 Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting>
…t dependency providers
71bf09a
to
65c1184
Compare
This a virtual package that is satisfied by either strongswan-mod-socket-default or strongswan-mod-socket-dynamic, and is required by the charon daemon. When neither of these packages is installed, charon will not function. Closes openwrt#16261, openwrt#16263 and openwrt#16367. Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting> Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Is this still open? |
Required to model the dependency of the charon daemon onto one of the two socket abstractions
Otherwise none will be installed and the daemon is not usable
Closes #16261
Signed-off-by: Noel Kuntze noel.kuntze@thermi.consulting
Maintainer: me / @pprindeville
Compile tested: x86_64, trunk
Run tested: Not yet
Description: