Menu

#3500 updated passwd that only updates 1 user when needed

Added_to_Fink
closed-accepted
5
2011-07-20
2009-03-14
No

This is an early first draft of an updated passwd package that splits off each user into SplitOffs so that someone needing a single new fink provided user doesn't have to install another (currently) 18 users.

Main changes from the current passwd (10.5 flavor):

1) all users are now separate splitoffs (passwd-games, passwd-news, etc) that should depend on the version of passwd when they were added.

2) no more global PostInstScript. Each splitoff now has it's own PostInstScript that adds the required entries to the user and groups databases.

Biggest caveats with this approach that I can think of:

1) There is no way to have the update-passwd script install 2 users at the same time requiring only 1 single user interaction, either when called by the same splitoff or by two splitoffs being called from the same 'fink install' command. Sequential installs should still be possible however. This obviously will affect the interactivity of fink (interactivity is needed currently anyway, although only once).

2) All packages that currently depend on passwd will have to be updated to depend on passwd-foo.

Benefits:

1) finer grain. No more having to install users that one doesn't need/want.

2) users can now be made specific to distributions and PostInstScripts for the splitoffs can be made more complicated if needed.

The update-passwd script is pretty much untouched from the original, so most everything should work the same. The whole IFS/OIFS logic needs to be verified because I'm not 100% sure what it's doing, as well as the general script logic to check for badly entered input, which would normally only occur when called via the installation of a passwd-foo package, so that's probably minimal (or at least not worse than currently).

Discussion

  • Hanspeter Niederstrasser

    File Added: passwd-10.5.patch

     
  • Hanspeter Niederstrasser

    Because it's a pain to update stuff here, I'm currently putting updates in my experimental tree at <http://cvs.snaggledworks.com/viewvc.cgi/fink/3rdparty/main/finkinfo/base/>.

    Once better files come out, they will be put here.

     
  • Hanspeter Niederstrasser

    What is the status of this item?

     
  • Hanspeter Niederstrasser

    • assigned_to: nobody --> dmrrsn
     
  • Hanspeter Niederstrasser

    Some changes to the submission as per our discussion on #fink.

    The base package is now called 'passwd-core'. This means that it won't overlap w/ the original passwd and won't require a mass upgrade of all packages which currently Depends: passwd.

     
  • Hanspeter Niederstrasser

    now uses passwd-core

     
  • Hanspeter Niederstrasser

    Package and debs now fully validate. I added a README into the patch to explain what's going on. This can easily be augmented for future releases. I used the new version to install the messagebus user so that I could finally update by dbus installation and I'm not seeing any problems.

     
  • Hanspeter Niederstrasser

    update to new patch and better descriptions

     
  • Hanspeter Niederstrasser

    new patch with README file

     
  • Hanspeter Niederstrasser

    This fixes a pretty bad bug where users with a hyphen were badly parsed. Thanks to monipol for the fix.

     
  • Hanspeter Niederstrasser

    hyphen parse fix

     
  • Hanspeter Niederstrasser

    hyphen parse fix

     
  • Hanspeter Niederstrasser

    For migration purposes, the package as is probably will not work since most of the files between old passwd and new passwd-core are kept in the same location/named the same. An easy alternative would be to move/rename the files. Suggestions for new names/locations are welcome.

     
  • Max Horn

    Max Horn - 2010-03-05

    So, what are the remaining major hold ups for this? Besides the upgrade path issue that was mentioned in the previous comment (and which are easily mitigated by renaming files).

    BTW, nagios and amqp users / groups were added to passwd a few days ago, and they would have to be added here, too.

     
  • Hanspeter Niederstrasser

    adds nagios/amqp

     
  • Hanspeter Niederstrasser

    adds nagios/amqp

     
  • Hanspeter Niederstrasser

    Updated the info/patch to add nagios/amqp from unstable.

    There should probably be some sanity checks in the update-passwd script. I copied this from current passwd and modified it to grep the list for the current user being installed. It works fine for the current set of users, but it already bit me once when a user had a hypen in it. That's been fixed, but the script still expects well formed input. There's little check for malformed input (say a corrupt user or group list file), but it's not like current passwd acts any better.

     
  • Hanspeter Niederstrasser

    • milestone: 373615 --> Added_to_Fink
    • status: open --> closed-accepted
     
  • Hanspeter Niederstrasser

    Woot! Now in 10.7, so closing this. Thanks drm.

     

Log in to post a comment.