commit 0a4f78bd4cac00040834c59e532ac3f0e4f36cf0
parent f1eb95d73819f3bdcbc8ef55e962d3129181f743
Author: Pablo Murad <pblmrd@gmail.com>
Date: Wed, 13 May 2026 21:46:33 -0300
shadowbook
Diffstat:
4 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/docs/05-tools-and-system-experience.md b/docs/05-tools-and-system-experience.md
@@ -31,8 +31,8 @@ Flags úteis: `--force`, `--skip-apt`, `--reconcile-existing-users` (ver `--help
- **Utilizador:** no servidor, use apenas o comando `chat` (wrapper em `/usr/local/bin/chat` após `tools/tools.py` ou `patches/patch_irc.py`). O cliente gráfico no terminal é `weechat` / `weechat-curses` (pacote `chat` no manifesto APT).
- **Por omissão** (após `patches/patch_irc.py`): o WeeChat fica com um único servidor com autoconnect no arranque — nome interno **`runv`**, endereço **`irc.tilde.chat`**, porta **6697**, **TLS ligado**, autojoin só **`#runv`**. Outras redes que o utilizador adicionar manualmente **não** autoconectam por defeito (o patch desliga `autoconnect` nos outros servidores já existentes, sem apagar redes).
-- **Provisionamento:** o patch corre com `weechat-headless -a -r '…' --stdout` (o `-a` evita auto-connect durante o batch). O launcher **`chat` não usa `-a`**. Novas contas Unix criadas com `scripts/admin/create_runv_user.py` invocam o patch automaticamente para esse utilizador. O `tools/tools.py` também aplica o backfill IRC ao final da execução.
-- **Backfill / admin:** `sudo python3 patches/patch_irc.py --all-users` (ou `--user NOME`). Requer `weechat-headless` no sistema.
+- **Provisionamento:** o patch corre com `weechat-headless -a -r '…' --stdout` (o `-a` evita auto-connect durante o batch). O launcher **`chat` não usa `-a`**. Novas contas Unix criadas com `scripts/admin/create_runv_user.py` invocam o patch automaticamente para esse utilizador. O `tools/tools.py --reconcile-existing-users` aplica o backfill IRC com `--force`.
+- **Backfill / admin:** `sudo python3 patches/patch_irc.py --all-users --force` (ou `--user NOME --force`). Requer `weechat-headless` no sistema.
## Isolamento e permissões
diff --git a/docs/admin.md b/docs/admin.md
@@ -424,19 +424,19 @@ sudo sh REPO/email/scripts/send_test_mail.sh
Aplicar/reaplicar a configuração IRC em todos os usuários:
```bash
-sudo python3 REPO/patches/patch_irc.py --all-users
+sudo python3 REPO/patches/patch_irc.py --all-users --force
```
Aplicar a um único usuário:
```bash
-sudo python3 REPO/patches/patch_irc.py --user USER
+sudo python3 REPO/patches/patch_irc.py --user USER --force
```
Simular:
```bash
-sudo python3 REPO/patches/patch_irc.py --all-users --dry-run --verbose
+sudo python3 REPO/patches/patch_irc.py --all-users --force --dry-run --verbose
```
Padrão atual:
@@ -548,7 +548,7 @@ sudo python3 REPO/site/genlanding.py --sync-public-only \
### Corrigir IRC de todos os usuários
```bash
-sudo python3 REPO/patches/patch_irc.py --all-users
+sudo python3 REPO/patches/patch_irc.py --all-users --force
```
### Banir tecnicamente uma conta
diff --git a/patches/patch_irc.py b/patches/patch_irc.py
@@ -718,7 +718,7 @@ def parse_args(argv: list[str] | None) -> argparse.Namespace:
)
p.add_argument("--dry-run", action="store_true", help="só mostrar o plano")
p.add_argument("--verbose", action="store_true", help="log detalhado")
- p.add_argument("--force", action="store_true", help="reconfigurar mesmo se existir servidor divergente")
+ p.add_argument("--force", action="store_true", help="recriar o servidor runv mesmo se já parecer conforme")
p.add_argument("--skip-launcher", action="store_true", help="não instalar /usr/local/bin/chat")
p.add_argument("--skip-backfill", action="store_true", help="não aplicar config por utilizador")
p.add_argument("--users-json", type=Path, default=DEFAULT_USERS_JSON, metavar="PATH")
diff --git a/tools/tools.py b/tools/tools.py
@@ -507,7 +507,7 @@ def apply_irc_patch(
log.error("%s", msg)
return
- cmd = [sys.executable, str(PATCH_IRC_PATH), "--all-users"]
+ cmd = [sys.executable, str(PATCH_IRC_PATH), "--all-users", "--force"]
if dry_run:
log.info("[dry-run] %s", " ".join(cmd))
summary.copied.append(f"patch IRC (simulado): {' '.join(cmd)}")
@@ -522,7 +522,7 @@ def apply_irc_patch(
log.error("%s", msg)
return
- summary.copied.append("patch IRC aplicado a todos os utilizadores")
+ summary.copied.append("patch IRC aplicado a todos os utilizadores (--force)")
if r.stdout.strip():
log.info("patch IRC: %s", r.stdout.strip().splitlines()[-1])