7 | | # '''Ask users if they are depending on a feature considered for deprecation''' (e.g. using the openvpn-users mailing list) |
8 | | #* If users complain, discuss the issue and possible solutions with them |
9 | | #* If there are no complaints, proceed to 2 |
10 | | # '''Warn the user about feature deprecation on application startup'''. The deprecated code itself can also output a warning itself, depending on how often it's triggered. The warning can be a simple log message (e.g. "WARNING: this feature is being deprecated and will be removed soon"). The deprecated code will still be enabled by default. |
11 | | #* If users complain now, discuss the issue and possible solutions with them |
12 | | #* If there are no complaints, proceed to 3 |
13 | | # '''Make the feature disabled by default, but allow enabling it at compile-time''' |
14 | | #* If users complain now, discuss the issue and possible solutions with them |
15 | | #* If there are no complaints, proceed to 4 |
16 | | # '''Remove the feature entirely from the code''' |
17 | | #* If users complain now, discuss the issue and possible solutions with them |
18 | | #* If there are no complaints, proceed to 5 |
19 | | # '''Finished.''' The feature was not really important to anyone and is not cluttering the code anymore. |
| 7 | 1. '''Ask users if they are depending on a feature considered for deprecation''' (e.g. using the openvpn-users mailing list) |
| 8 | * If users complain, discuss the issue and possible solutions with them |
| 9 | * If there are no complaints, proceed to 2 |
| 10 | 1. '''Warn the user about feature deprecation on application startup'''. The deprecated code itself can also output a warning itself, depending on how often it's triggered. The warning can be a simple log message (e.g. "WARNING: this feature is being deprecated and will be removed soon"). The deprecated code will still be enabled by default. |
| 11 | * If users complain now, discuss the issue and possible solutions with them |
| 12 | * If there are no complaints, proceed to 3 |
| 13 | 1. '''Make the feature disabled by default, but allow enabling it at compile-time''' |
| 14 | * If users complain now, discuss the issue and possible solutions with them |
| 15 | * If there are no complaints, proceed to 4 |
| 16 | 1. '''Remove the feature entirely from the code''' |
| 17 | * If users complain now, discuss the issue and possible solutions with them |
| 18 | * If there are no complaints, proceed to 5 |
| 19 | 1. '''Finished.''' The feature was not really important to anyone and is not cluttering the code anymore. |
45 | | * Remove the feature by using #ifdef's wherever this feature is called or executed in the source code |
46 | | ** The #ifdef name should start with '''DEPRECATED_''' and then a sensible name for the feature |
47 | | ** Add a warning (using #warning statements) for compile time warnings when the feature is enabled. |
48 | | ** Add log messages (using msg()) whenever this feature is called. |
49 | | *** Make sure that the logging will not be too extensive and happen too often. It should catch attention, but not flood the log. |
50 | | ** Update deprecated.c and add an appropriate warning, inside a #ifdef block for the feature going through the FRP. |
51 | | * Update configure.ac |
52 | | ** Locate the section for deprecated features, (search for "Deprecated features") |
53 | | ** Add a new configure argument to disable this feature, ie. enabled by default. The argument should start with '''--disable-depr-''' and then a sensible and descriptive feature name. |
54 | | * Test the change by compiling and smoke testing OpenVPN. |
55 | | ** When the feature is enabled (the default) |
56 | | *** A warning should be clearly visible during compilation |
57 | | *** OpenVPN should provide a warning early at startup about a enabled deprecated feature |
58 | | *** OpenVPN should create a log entry whenever the feature's code path is hit |
59 | | *** Verify that the feature indeed still works |
60 | | ** When the feature is disabled (through ./configure arguments) |
61 | | *** No warning about the feature deprecation should be seen at startup |
62 | | *** No warning or errors when OpenVPN passes the code path where this feature was enabled |
63 | | *** Verify that the feature really is removed when running OpenVPN and that it behaves as expected |
64 | | * Commit the patch(es) and submit them to the openvpn-devel mailinglist. The subject must start with '''[PATCH]''' followed by '''FRP: ''' |
65 | | ** Example: [PATCH] FRP: Preparing for removal of feature X |
| 45 | * Remove the feature by using #ifdef's wherever this feature is called or executed in the source code |
| 46 | * The #ifdef name should start with '''DEPRECATED_''' and then a sensible name for the feature |
| 47 | * Add a warning (using #warning statements) for compile time warnings when the feature is enabled. |
| 48 | * Add log messages (using msg()) whenever this feature is called. |
| 49 | * Make sure that the logging will not be too extensive and happen too often. It should catch attention, but not flood the log. |
| 50 | * Update deprecated.c and add an appropriate warning, inside a #ifdef block for the feature going through the FRP. |
| 51 | * Update configure.ac |
| 52 | * Locate the section for deprecated features, (search for "Deprecated features") |
| 53 | * Add a new configure argument to disable this feature, ie. enabled by default. The argument should start with '''--disable-depr-''' and then a sensible and descriptive feature name. |
| 54 | * Test the change by compiling and smoke testing OpenVPN. |
| 55 | * When the feature is enabled (the default) |
| 56 | * A warning should be clearly visible during compilation |
| 57 | * OpenVPN should provide a warning early at startup about a enabled deprecated feature |
| 58 | * OpenVPN should create a log entry whenever the feature's code path is hit |
| 59 | * Verify that the feature indeed still works |
| 60 | * When the feature is disabled (through ./configure arguments) |
| 61 | * No warning about the feature deprecation should be seen at startup |
| 62 | * No warning or errors when OpenVPN passes the code path where this feature was enabled |
| 63 | * Verify that the feature really is removed when running OpenVPN and that it behaves as expected |
| 64 | * Commit the patch(es) and submit them to the openvpn-devel mailinglist. The subject must start with '''[PATCH]''' followed by '''FRP: ''' |
| 65 | * Example: [PATCH] FRP: Preparing for removal of feature X |
69 | | * Update configure.ac |
70 | | ** Rename argument from '''--disable-depr-*''' to '''--enable-depr-*''' |
71 | | ** Change default value from "yes" to "no" |
72 | | * Test the change by compiling and smoke testing OpenVPN. |
73 | | ** When the feature is disabled (the default) |
74 | | *** No warning about the feature deprecation should be seen at startup |
75 | | *** No warning or errors when OpenVPN passes the code path where this feature was enabled |
76 | | *** Verify that the feature really is removed when running OpenVPN and that it behaves as expected |
77 | | ** When the feature is enabled (through ./configure arguments) |
78 | | *** A warning should be clearly visible during compilation |
79 | | *** OpenVPN should provide a warning early at startup about a enabled deprecated feature |
80 | | *** OpenVPN should create a log entry whenever the feature's code path is hit |
81 | | *** Verify that the feature indeed still works |
82 | | * Commit the patch(es) and submit them to the openvpn-devel mailinglist. The subject must start with '''[PATCH]''' followed by '''FRP2: ''' |
83 | | ** Example: [PATCH] FRP2: Deprecating feature X by default |
| 69 | * Update configure.ac |
| 70 | * Rename argument from '''--disable-depr-*''' to '''--enable-depr-*''' |
| 71 | * Change default value from "yes" to "no" |
| 72 | * Test the change by compiling and smoke testing OpenVPN. |
| 73 | * When the feature is disabled (the default) |
| 74 | * No warning about the feature deprecation should be seen at startup |
| 75 | * No warning or errors when OpenVPN passes the code path where this feature was enabled |
| 76 | * Verify that the feature really is removed when running OpenVPN and that it behaves as expected |
| 77 | * When the feature is enabled (through ./configure arguments) |
| 78 | * A warning should be clearly visible during compilation |
| 79 | * OpenVPN should provide a warning early at startup about a enabled deprecated feature |
| 80 | * OpenVPN should create a log entry whenever the feature's code path is hit |
| 81 | * Verify that the feature indeed still works |
| 82 | * Commit the patch(es) and submit them to the openvpn-devel mailinglist. The subject must start with '''[PATCH]''' followed by '''FRP2: ''' |
| 83 | * Example: [PATCH] FRP2: Deprecating feature X by default |
87 | | * Remove all code blocks which are encapsulated by the feature's #ifdef blocks from the source code |
88 | | ** Beware of #else blocks, and make sure they are not removed. |
89 | | * Update configure.ac |
90 | | ** Remove the configure arguments related to the feature |
91 | | * Test the change by compiling and smoke testing OpenVPN. Check that: |
92 | | ** No warning about the feature deprecation should be seen at startup |
93 | | ** No warning or errors when OpenVPN passes the code path where this feature was enabled |
94 | | ** Verify that the feature really is removed when running OpenVPN and that it behaves as expected |
95 | | * Commit the patch(es) and submit them to the openvpn-devel mailinglist. The subject must start with '''[PATCH]''' followed by '''FRP3: ''' |
96 | | ** Example: [PATCH] FRP3: Removing deprecated feature X |
| 87 | * Remove all code blocks which are encapsulated by the feature's #ifdef blocks from the source code |
| 88 | * Beware of #else blocks, and make sure they are not removed. |
| 89 | * Update configure.ac |
| 90 | * Remove the configure arguments related to the feature |
| 91 | * Test the change by compiling and smoke testing OpenVPN. Check that: |
| 92 | * No warning about the feature deprecation should be seen at startup |
| 93 | * No warning or errors when OpenVPN passes the code path where this feature was enabled |
| 94 | * Verify that the feature really is removed when running OpenVPN and that it behaves as expected |
| 95 | * Commit the patch(es) and submit them to the openvpn-devel mailinglist. The subject must start with '''[PATCH]''' followed by '''FRP3: ''' |
| 96 | * Example: [PATCH] FRP3: Removing deprecated feature X |