#!/usr/bin/env python #============================================================================== # Copyright and license info is available in the LICENSE file included with # the Server Deployment Package (SDP), and also available online: # https://swarm.workshop.perforce.com/projects/perforce-software-sdp/view/main/LICENSE #------------------------------------------------------------------------------ """ This script makes sure that all Perforce users are in the limits group. """ import sys, os, string, re instance=sys.argv[1] os.system("/p4/common/bin/p4login %s" % instance) os.system("/p4/common/bin/p4master_run %s /p4/%s/bin/p4_%s group -o limits > %s_limits.txt" % (instance, instance, instance, instance)) os.system("/p4/common/bin/p4master_run %s /p4/%s/bin/p4_%s users > %s_users.txt" % (instance, instance, instance, instance)) users = open("%s_users.txt" % instance, "r") limits = open("%s_limits.txt" % instance, "r") output = open("%s_newlimits.txt" % instance, "w") userlist = [] for user in users.readlines(): user = re.sub( r"<.*", r"", user ) user = user.strip() if user != "": userlist.append(user) users.close() for line in limits.readlines(): if line != "\n": output.write(line) limits.close() for user in userlist: output.write("\t%s\n" % user) output.close() os.system("/p4/common/bin/p4master_run %s /p4/%s/bin/p4_%s group -i < %s_newlimits.txt > /dev/null" % (instance, instance, instance, instance)) os.remove("%s_users.txt" % instance) os.remove("%s_limits.txt" % instance) os.remove("%s_newlimits.txt" % instance)
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#3 | 29754 | Russell C. Jackson (Rusty) | Updated to work with python3 changes to string handling. | ||
#2 | 22981 | Russell C. Jackson (Rusty) | Made files writeable so they are easier to update once on the server. | ||
#1 | 22693 | Russell C. Jackson (Rusty) |
Branched a Unix only version of the SDP. Removed extra items to create a cleaner tree. Moved a few items around to make more sense without Windows in the mix. |
||
//guest/perforce_software/sdp/dev/Server/Unix/p4/common/bin/update_limits.py | |||||
#4 | 19768 | UnstoppableDrew |
@tom_tyler @russell_jackson Bug fix for running p4master_run as root, and some comment header cleanup. Job 000543 p4master_run: Preserve original arguments list and use this when exec'ing as $OSUSER. backup_functions.sh: Add text about sourcing p4_vars yourself instead of using p4master_run. update_limites.py: Run p4login directly without p4master_run since p4login calls p4_vars now. everything else: Remove comment block about needing to run with p4master_run. Reword comment about SDP_INSTANCE since it is not always an integer value. |
||
#3 | 16029 | C. Thomas Tyler |
Routine merge to dev from main using: p4 merge -b perforce_software-sdp-dev |
||
#2 | 12169 | Russell C. Jackson (Rusty) |
Updated copyright date to 2015 Updated shell scripts to require an instance parameter to eliminate the need for calling p4master_run. Python and Perl still need it since you have to set the environment for them to run in. Incorporated comments from reviewers. Left the . instead of source as that seems more common in the field and has the same functionality. |
||
#1 | 10638 | C. Thomas Tyler | Populate perforce_software-sdp-dev. | ||
//guest/perforce_software/sdp/main/Server/Unix/p4/common/bin/update_limits.py | |||||
#1 | 10148 | C. Thomas Tyler | Promoted the Perforce Server Deployment Package to The Workshop. |