When I set up gpsd (linux gps daemon), I noticed it has a hook to discipline your RTC, much like NTP. I have no idea if it is any good. As far as I can tell, gpsd isn't a real daemon. That is, it doesn't show up under services. You have to start it up by other means.