juddmon / jpilot

Desktop Organizer Software for the Palm Pilot
GNU General Public License v2.0
53 stars 13 forks source link

Editing the pilot-link udev rules file, to make HotSync operations easier #31

Open unforgettableid opened 2 years ago

unforgettableid commented 2 years ago

Background information (you can skip this)

I recently spent a fair bit of time figuring out why J-Pilot in a new VM wouldn't sync with my Centro. It turns out that you must add yourself to the "dialout" group before you sync. If you're not in the group, HotSync attempts will never connect; your PC will just sit there, waiting forever.

Yes, the J-Pilot readme file does say this, and yes, I failed to check the readme.

Nevertheless, it's best to design software so that even people who don't or can't read the readme will still have a good experience. :)

My proposed change

My proposed change is to edit "/lib/udev/rules.d/60-libpisock9.rules", which is part of pilot-link libpisock9. Once the change is done, udev will no longer require users to join the "dialout" group to sync.

I propose to change every occurrence of the string "0664" to "0666".

@juddmon, I wonder if you might be willing to please create a brand-new GitHub repository for pilot-link, to commit the pilot-link 0.13.0 source code, and to make the change to the file? The pilot-link source code calls the file "doc/60-libpisock.rules".

Alternatively, you could create the repository, upload the source code, and grant me write permissions; here's how to grant them. I could make the change.

Conclusion

Thank you for reading this, and thank you for all the work you've put into J-Pilot!

dmalia1 commented 2 years ago

The 0.13.0 source code is at https://github.com/desrod/pilot-link, on the master branch. I believe Judd just checked it out, and built a .deb file for it. I do believe desrod is modernizing a few things with it still. I propose that you fork the pilot-link project, and make the changes, then when you are ready submit a pull request. There may be some issues you aren't thinking of, as its possible some folks are actually using a serial port rather than an USB port to sync. The discussion on the pull request could lead to a better solution overall.

I do agree, making things easier for end-users is a good idea overall. In the meantime, perhaps a compromise would be have the hotsync button check to see if the current user is in the dialout group before attempting the sync, and then suggest the user run the command to add themselves to the dialout group, rather than hang indefinitely? This for example? https://github.com/juddmon/jpilot/pull/36

CoSoCo commented 2 years ago

Much thanks for this patch. In the merge request I see, that you use: jp_logf(JP_LOG_WARN, ...) I think, you might better use JP_LOG_FATAL, as not being able to synch is a severe problem for the user. and it will force the message to appear in the GUI. Many users don't know about terminal logging.