#!/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 -ztag -F %%User%% users > %s_users.txt" % (instance, instance, instance, instance))
users = ("%s_users.txt" % instance)
limits = ("%s_limits.txt" % instance)
output = open("%s_newlimits.txt" % instance, "w")
userlist = []
try:
with open(users, 'r', errors='replace') as u:
for user in u.readlines():
user = user.strip()
if user != "":
userlist.append(user)
except:
sys.exit(0)
u.close()
try:
with open(limits, 'r', errors='replace') as l:
for line in l.readlines():
if line != "\n":
output.write(line)
except:
sys.exit(0)
l.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. | ||