On Wed, Sep 30, 2015 at 08:31:57AM +0200, Pavel Reichl wrote: > > > On 09/30/2015 07:42 AM, Lukas Slebodnik wrote: > >On (29/09/15 17:45), Jakub Hrozek wrote: > >>On Tue, Sep 29, 2015 at 11:38:58AM +0200, Sumit Bose wrote: > >>>On Tue, Sep 29, 2015 at 10:50:06AM +0200, Pavel Reichl wrote: > >>>> > >>>> > >>>>On 09/29/2015 10:44 AM, Lukas Slebodnik wrote: > >>>>>On (29/09/15 10:42), Pavel Reichl wrote: > >>>>>> > >>>>>> > >>>>>>On 09/29/2015 10:35 AM, Lukas Slebodnik wrote: > >>>>>>>On (29/09/15 10:16), Pavel Reichl wrote: > >>>>>>>>On 09/29/2015 10:08 AM, Lukas Slebodnik wrote: > >>>>>>>>>On (29/09/15 08:45), Pavel Reichl wrote: > >>>>>>>>>> > >>>>>>>>>> > >>>>>>>>>>On 09/29/2015 08:31 AM, Lukas Slebodnik wrote: > >>>>>>>>>>>On (27/09/15 12:49), Pavel Reichl wrote: > >>>>>>>>>>>>Hello, please see trivial patch attached. > >>>>>>>>>>> > >>>>>>>>>>>>From b9f938087973444f0ec26fc24ad68dca7ac63034 Mon Sep 17 00:00:00 > >>>>>>>>>>>>2001 > >>>>>>>>>>>>From: Pavel Reichl <reichl.pa...@gmail.com> > >>>>>>>>>>>>Date: Sun, 27 Sep 2015 12:34:20 +0200 > >>>>>>>>>>>>Subject: [PATCH] confdb: Remove unused function confdb_get_long > >>>>>>>>>>>> > >>>>>>>>>>>>--- > >>>>>>>>>>>>src/confdb/confdb.c | 51 > >>>>>>>>>>>>--------------------------------------------------- > >>>>>>>>>>>>1 file changed, 51 deletions(-) > >>>>>>>>>>>> > >>>>>>>>>>>>diff --git a/src/confdb/confdb.c b/src/confdb/confdb.c > >>>>>>>>>>>>index > >>>>>>>>>>>>c097aad7745eda4fff051c7da027776f95db0f03..eebd478f74041d2050df9edc283df43a65462340 > >>>>>>>>>>>> 100644 > >>>>>>>>>>>>--- a/src/confdb/confdb.c > >>>>>>>>>>>>+++ b/src/confdb/confdb.c > >>>>>>>>>>>>@@ -475,57 +475,6 @@ failed: > >>>>>>>>>>>> return ret; > >>>>>>>>>>>>} > >>>>>>>>>>>> > >>>>>>>>>>>>-long confdb_get_long(struct confdb_ctx *cdb, > >>>>>>>>>>>>- const char *section, const char *attribute, > >>>>>>>>>>>>- long defval, long *result) > >>>>>>>>>>>>-{ > >>>>>>>>>>>Would it be better to consider this function as confdb API > >>>>>>>>>>>and add to src/confdb/confdb.h? > >>>>>>>>>> > >>>>>>>>>>It could be. > >>>>>>>>>> > >>>>>>>>>>>It might be useful in the future. > >>>>>>>>>> > >>>>>>>>>>I thought that out policy towards unused functions were to remove > >>>>>>>>>>them. > >>>>>>>>>Could you point me to the description of such policy? > >>>>>>>>>I'm not aware of it. > >>>>>>>> > >>>>>>>>I don't think it's written anywhere > >>>>>>>Good to know. I thought I missed something > >>>>>>> > >>>>>>>>I just saw we did it repeatedly before and thought it's our general > >>>>>>>>practice. > >>>>>>>> > >>>>>>>One more time: > >>>>>>>If we consider confdb as library than we should never remove functions. > >>>>>>> > >>>>>>>Removing functions from other parts of code is something > >>>>>>>else. > >>>>>>> > >>>>>>>>> > >>>>>>>>>>We did so in commit 2b94ab415b30861f42b68725d9231905baf8c3bd > >>>>>>>>>I didn't notice that patch. I'm sorry I do not have a time > >>>>>>>>>to follow each patchset. > >>>>>>>>> > >>>>>>>>>>We can always resurrect removed code if needed. > >>>>>>>>>> > >>>>>>>>>If we consider confdb as library than > >>>>>>>>>we should never remove functions. > >>>>>>>> > >>>>>>>>Then we should decide which parts of SSSD are public libraries and > >>>>>>>>which are not, then we could avoid this kind of discussions. > >>>>>>>> > >>>>>>>I wrote "consider confdb as library" and not as a public library with > >>>>>>>stable API. And libraries many times contains function which are not > >>>>>>>used. > >>>>>>>So we should not remove them. Even though it would be still in git > >>>>>>>history. > >>>>>> > >>>>>>Why? If we don't use them and nobody else does why do we have to keep > >>>>>>them? > >>>>>> > >>>>>libraries many times contains function which are not used > >>>> > >>>>Well, but if they are not public we can change that, right? We can change > >>>>them as we need and removing unused code is one of those things. I don't > >>>>see the difference between private library and 'other parts of code'. > >>> > >>>I think we should be explicit here. If we want to consider confdb as a > >>>library we should make it a public library with a stable API with all > >>>the consequences. In general I think this is not a bad idea e.g. with > >>>respect to all the config related tickets we have planned for 1.14. But > >>>we should define the initial version of a stable API, based on the > >>>result and requirements from the 1.14 tickets. > >> > >>I'm more with Simo here that we shouldn't consider confdb and sysdb as > >>stable ABIs, at least not yet. I think we need the flexibility of a private, > >>unstable library. > >> > >>At the same time, I think we should try harder to avoid polluting the > >>sysdb/confdb APIs with new calls and in general strive to make even the > >>internal APIs easily usable. Here I agree with Lukas that the > >>current interface is not very nice -- and the sysdb interface would be > >>something that any new external contributor would be confronted with. > >> > >>Maybe when we review (hint, nudge, nudge) Michal's sysdb patches, we can > >>take a look at the API and massage it a bit, move related functions > >>together in the header files and merge or remove extra functions? (Yes, > >>we can also file a ticket, but I don't think it would land in a > >>milestone where we would touch it soon...) > >> > >>> > >>>Having private/internal libraries with a more relaxed policy might turn > >>>out to be problematic as e.g. can be seen by some internal samba > >>>libraries which are used by us, OpenChange and maybe other projects > >>>where upstream changes might force changes in the other projects as > >>>well. Ok, the argument here is that they shouldn't have been used in the > >>>first place, but what's the point in re-implementing existing > >>>functionality. > >>> > >>>Currently I wouldn't see libsss_util where confdb.c is included as a > >>>library at all, but just as a mean to make the build process easier and > >>>faster. > >>> > >>>Coming to the original topic of the discussion, I would agree to remove > >>>confdb_get_long() because it is nowhere used (and it looks like it > >>>never was) and it does not even have a test. > >> > >>Is that an ack? :-) > >No, > > I think this was rather question for Sumit AFAIK he was the author of quoted > text. > > >I still do not think that removing function and adding it back after few > >months > > The problem is - why do you think we will need the function in future? Using > this logic we could never remove any function from private libs.
Lukas gave some justification in another part of this thread: """ Another problem is tat we use confdb_get_int on many places even though that there should be confdb_get_uint or confdb_get_long. We have few tickets which was testing -1 as unallowed value and it passed. So we can remove confdb_get_long atm and we might want to introduce later after implementation of config validation. """ Lukas, would you agree if we create a ticket like "Evaluate the usage of confdb_get_int()" for the next release. Then you can replace confdb_get_int() at places where you think more specific calls will fit better. Maybe it would even make sense to add calls like confdb_get_uint32() during this effort. bye, Sumit > > >is a good idea. Better would be to include to confdb.h and write tests. > > > >But it seems that I'm a single person in opposition. > >So someone else need to ACK it. > > > >LS > >_______________________________________________ > >sssd-devel mailing list > >sssd-devel@lists.fedorahosted.org > >https://lists.fedorahosted.org/mailman/listinfo/sssd-devel > > > _______________________________________________ > sssd-devel mailing list > sssd-devel@lists.fedorahosted.org > https://lists.fedorahosted.org/mailman/listinfo/sssd-devel _______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/sssd-devel