Index: user/des/fbce/db/notes =================================================================== --- user/des/fbce/db/notes (revision 334091) +++ user/des/fbce/db/notes (revision 334092) @@ -1,85 +1,85 @@ #!/bin/sh # # These are instructions for creating and populating the FBCE # database. Note that although this is a syntactically correct shell # script, it will not (or at least should not) run unmodified. # # $FreeBSD$ # # Initialize PostgreSQL sudo service postgresql initdb sudo service postgresql start # Create a superuser for myself sudo -u postgres createuser -s des # Create a regular user and database for FBCE createuser -S -D -R fbce createdb -E utf8 -O fbce fbce # Create the schema psql -f db/fbce.sql fbce fbce # Regenerate the DBIC schema # # Note that this will not overwrite lib/FBCE/Model/FBCE.pm, but # instead create lib/FBCE/Model/FBCE.pm.new. You may replace the old # file with the new, but you should remove the connect_info and place # it in fbce_local.conf instead (copy the section from # fbce.conf and insert the correct host, user and password). # ./db/update.sh fbce # One-liner to set a user's password perl -Ilib -MFBCE -e 'FBCE->model("FBCE::Person")->find({ login => "kenneth36" })->set_password("4ltInn!?")' # One-liner to reset everybody's passwords perl -Ilib -MFBCE -e 'map { $_->reset_password() } FBCE->model("FBCE::Person")->all();' # # The list of users is generated on freefall using scripts written for # that purpose by gjb: # # % ./genuserlist.sh # % sort users.txt >users-20180516.txt # % getent passwd | sort >gecos-20180516.txt # ./script/fbce_user.pl import users-20180516.txt ./script/fbce_user.pl gecos gecos-20180516.txt # # The smash command clears the active and incumbent flags for all users: # ./script/fbce_user.pl smash # # The list of active committers is extracted from fst3k: # # fst3k=# \t on # Showing only tuples. # fst3k=# \o active-20180516.txt -# fst3k=# select p.login from persons p join revisions r on p.id = r.author where r.datetime >= '2017-05-16' group by p.login order by p.login; +# fst3k=# select p.login from persons p join revisions r on p.id = r.author where r.datetime >= '20170516T180000Z' and r.datetime <'20180516T180000Z' group by p.login order by p.login; # fst3k=# \o # ./script/fbce_user.pl activate active-20180516.txt # # The list of incumbents is obtained from freefall: # # des@freefall ~% getent group core | cut -d: -f4 | tr , '\n' | grep -v matthew >core-20180516.txt # ./script/fbce_user.pl incumbent core-20180516.txt # # Finally, generate passwords # ./script/fbce_user.pl pwgen # # The resulting fbce-passwords.tgz can now be sent to clusteradm who # will untar it in /home on freefall. # # Print the logins of active users who haven't voted perl -Ilib -MFBCE -e 'map { print $_->login, "\n" } grep { $_->active && $_->votes_voters->count == 0 } FBCE->model("FBCE::Person")->all'