Skip to content
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

nhdp: deprecate module #11987

Merged
merged 1 commit into from
Aug 28, 2019
Merged

nhdp: deprecate module #11987

merged 1 commit into from
Aug 28, 2019

Conversation

miri64
Copy link
Member

@miri64 miri64 commented Aug 9, 2019

Contribution description

Every time I change something about GNRC's network interface or sock I have to touch this module. However, I suspect that it is not to used anywhere (in our repo there is only a build test for it) and don't really expect it to still work.

The last substantial change to it that was not caused by API changes or CI-related code clean-ups was 5fbafbf which is almost 5 years old and it does not even follow our current programming practices (the header is not in the default include path), so I think it is safe to say that it is pretty much unmaintained.

For this reason, I propose to deprecate it and remove it after the 2020.04 release.

AFAIK, it the protocol this module implements is required for MANET-related protocols. Is anyone still working on those?

Testing procedure

After

make doc

the module should show up in doc/doxygen/html/deprecated.html.

Issues/PRs references

None

@miri64 miri64 added Area: network Area: Networking Area: doc Area: Documentation Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation labels Aug 9, 2019
@miri64 miri64 added this to the Release 2019.10 milestone Aug 9, 2019
@jcarrano
Copy link
Contributor

jcarrano commented Aug 9, 2019

You may want to add __attribute__ ((deprecated)); to the init function to ensure that potential users get a warning. See https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes

@miri64
Copy link
Member Author

miri64 commented Aug 9, 2019

You may want to add __attribute__ ((deprecated)); to the init function to ensure that potential users get a warning. See https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes

Did not know about that. Maybe we should use this for other deprecated features as well.

@kaspar030
Copy link
Contributor

You may want to add __attribute__ ((deprecated)); to the init function to ensure that potential users get a warning. See https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes

Did not know about that. Maybe we should use this for other deprecated features as well.

please no! did anyone look at the output of our unittests lately?

@kaspar030
Copy link
Contributor

I'm talking about the compilation output: https://gist.github.com/kaspar030/a6a41b1bb2ad7147a3867b1a3f4aedd3

@jcarrano
Copy link
Contributor

jcarrano commented Aug 9, 2019

Yes, it has warnings, so? The issue there is that we don't have any way of filtering the output of the CI. We should not hinder the user experience because of our tool limitations.

@miri64
Copy link
Member Author

miri64 commented Aug 9, 2019

@kaspar030 weren't you also advocating for compile warnings for API changes like this in the past?

@kaspar030
Copy link
Contributor

@kaspar030 weren't you also advocating for compile warnings for API changes like this in the past?

Yes, one per issue. I've been compiling and debugging unittests lately, as is, this (attribute((deprecated))) is unusable.

@miri64
Copy link
Member Author

miri64 commented Aug 9, 2019

I think the issue with ubjson spamming the compilation with deprecation notes stems from the fact that it is tied to a type which is used quite often in those tests. If I, as @jcarrano proposed just tie it to the init function it should only appear once.

@miri64
Copy link
Member Author

miri64 commented Aug 9, 2019

I just try it and if you are not happy with the output you can still NACK. ;-)

@miri64 miri64 added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Aug 9, 2019
@kaspar030
Copy link
Contributor

I just try it and if you are not happy with the output you can still NACK. ;-)

ok, let's see.

@miri64
Copy link
Member Author

miri64 commented Aug 9, 2019

also added a change I forgot to push earlier.

@miri64
Copy link
Member Author

miri64 commented Aug 9, 2019

Oops, fixed typo

@miri64 miri64 added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Aug 9, 2019
@miri64
Copy link
Member Author

miri64 commented Aug 9, 2019

(Reordering my own PRs in the build queue. The other one is a bit more important as it fixes a bug)

@cladmi
Copy link
Contributor

cladmi commented Aug 12, 2019

scan-build reported a "use after free" in nhdp so a +1 to get rid of it if not needed #11852

@jcarrano jcarrano added the CI: needs squashing Commits in this PR need to be squashed; If set, CI systems will mark this PR as unmergable label Aug 13, 2019
Copy link
Contributor

@jcarrano jcarrano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok. If anyone has concerns we still have time until 2020.04. Please squash.

@miri64
Copy link
Member Author

miri64 commented Aug 28, 2019

Squashed.

@miri64 miri64 force-pushed the nhdp/doc/deprecate branch from 2cad8be to 056bd35 Compare August 28, 2019 04:22
@benpicco benpicco added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: needs squashing Commits in this PR need to be squashed; If set, CI systems will mark this PR as unmergable CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Aug 28, 2019
@jcarrano jcarrano merged commit a6e2659 into RIOT-OS:master Aug 28, 2019
@miri64 miri64 deleted the nhdp/doc/deprecate branch August 28, 2019 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: doc Area: Documentation Area: network Area: Networking CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants