summaryrefslogtreecommitdiffstats
path: root/pt-br/news/packaging-archlinux/index.html
blob: fb3f9186f61ee5dcefc5df2010d760b80e71df6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Empacotando o Tesseras para Arch Linux — Tesseras</title>
    <meta name="description" content="Como compilar e instalar o pacote Tesseras no Arch Linux a partir do código-fonte usando makepkg.">
    <!-- Open Graph -->
    <meta property="og:type" content="article">
    <meta property="og:title" content="Empacotando o Tesseras para Arch Linux">
    <meta property="og:description" content="Como compilar e instalar o pacote Tesseras no Arch Linux a partir do código-fonte usando makepkg.">
    <meta property="og:image" content="https://tesseras.net/images/social.jpg">
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="630">
    <meta property="og:site_name" content="Tesseras">
    <!-- Twitter Card -->
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content="Empacotando o Tesseras para Arch Linux">
    <meta name="twitter:description" content="Como compilar e instalar o pacote Tesseras no Arch Linux a partir do código-fonte usando makepkg.">
    <meta name="twitter:image" content="https://tesseras.net/images/social.jpg">
    <link rel="stylesheet" href="https://tesseras.net/style.css?h=21f0f32121928ee5c690">
    
        
            <link rel="alternate" type="application/atom+xml" title="Tesseras" href="https://tesseras.net/atom.xml">
        
    
    <link rel="icon" type="image/png" sizes="32x32" href="https://tesseras.net/images/favicon.png?h=be4e123a23393b1a027d">
    
</head>
<body>
    <header>
        <h1>
            <a href="https:&#x2F;&#x2F;tesseras.net/pt-br/">
                <img src="https://tesseras.net/images/logo-64.png?h=c1b8d0c4c5f93b49d40b" alt="Tesseras" width="40" height="40" class="logo">
                Tesseras
            </a>
        </h1>
        <nav>
            
                <a href="https://tesseras.net/pt-br/about/">Sobre</a>
                <a href="https://tesseras.net/pt-br/news/">Notícias</a>
                <a href="https://tesseras.net/pt-br/releases/">Lançamentos</a>
                <a href="https://tesseras.net/pt-br/faq/">FAQ</a>
                <a href="https://tesseras.net/pt-br/subscriptions/">Inscrições</a>
                <a href="https://tesseras.net/pt-br/contact/">Contato</a>
            
        </nav>
        <nav class="lang-switch">
            
                <a href="https:&#x2F;&#x2F;tesseras.net&#x2F;news&#x2F;packaging-archlinux&#x2F;">English</a> | <strong>Português</strong>
            
        </nav>
    </header>

    <main>
        
<article>
    <h2>Empacotando o Tesseras para Arch Linux</h2>
    <p class="news-date">2026-02-16</p>
    <p>O Tesseras agora inclui um PKGBUILD para Arch Linux. Este post explica como
compilar e instalar o pacote a partir do código-fonte.</p>
<h2 id="pre-requisitos">Pré-requisitos</h2>
<p>Você precisa de uma toolchain Rust funcional e do grupo base-devel:</p>
<pre><code data-lang="sh">sudo pacman -S --needed base-devel sqlite
rustup toolchain install stable
</code></pre>
<h2 id="compilando">Compilando</h2>
<p>Clone o repositório e execute a recipe <code>just arch</code>:</p>
<pre><code data-lang="sh">git clone https://git.sr.ht/~ijanc/tesseras
cd tesseras
just arch
</code></pre>
<p>Isso executa <code>makepkg -sf</code> dentro de <code>packaging/archlinux/</code>, que:</p>
<ol>
<li><strong>prepare</strong> — baixa as dependências Cargo com <code>cargo fetch --locked</code></li>
<li><strong>build</strong> — compila <code>tesd</code> e <code>tes</code> (o CLI) em modo release</li>
<li><strong>package</strong> — instala binários, serviço systemd, configs sysusers/tmpfiles,
completions de shell (bash, zsh, fish) e um arquivo de configuração padrão</li>
</ol>
<p>O resultado é um arquivo <code>.pkg.tar.zst</code> em <code>packaging/archlinux/</code>.</p>
<h2 id="instalando">Instalando</h2>
<pre><code data-lang="sh">sudo pacman -U packaging/archlinux/tesseras-*.pkg.tar.zst
</code></pre>
<h2 id="configuracao-pos-instalacao">Configuração pós-instalação</h2>
<p>O pacote cria automaticamente um usuário e grupo de sistema <code>tesseras</code> via
systemd-sysusers. Para usar o CLI sem sudo, adicione seu usuário ao grupo:</p>
<pre><code data-lang="sh">sudo usermod -aG tesseras $USER
</code></pre>
<p>Faça logout e login novamente, depois inicie o daemon:</p>
<pre><code data-lang="sh">sudo systemctl enable --now tesd
</code></pre>
<h2 id="o-que-o-pacote-inclui">O que o pacote inclui</h2>
<table><thead><tr><th>Caminho</th><th>Descrição</th></tr></thead><tbody>
<tr><td><code>/usr/bin/tesd</code></td><td>Daemon do nó completo</td></tr>
<tr><td><code>/usr/bin/tes</code></td><td>Cliente CLI</td></tr>
<tr><td><code>/etc/tesseras/config.toml</code></td><td>Configuração padrão (marcado como backup)</td></tr>
<tr><td><code>/usr/lib/systemd/system/tesd.service</code></td><td>Unit systemd com hardening de segurança</td></tr>
<tr><td><code>/usr/lib/sysusers.d/tesseras.conf</code></td><td>Definição do usuário de sistema</td></tr>
<tr><td><code>/usr/lib/tmpfiles.d/tesseras.conf</code></td><td>Diretório de dados <code>/var/lib/tesseras</code></td></tr>
<tr><td>Completions de shell</td><td>bash, zsh e fish</td></tr>
</tbody></table>
<h2 id="detalhes-do-pkgbuild">Detalhes do PKGBUILD</h2>
<p>O PKGBUILD compila diretamente a partir do checkout git local em vez de baixar
um tarball. A variável de ambiente <code>TESSERAS_ROOT</code> aponta o makepkg para a raiz
do workspace. O diretório target do Cargo é configurado para <code>$srcdir/target</code>
para manter os artefatos de build dentro do sandbox do makepkg.</p>
<p>O pacote depende apenas de <code>sqlite</code> em tempo de execução e <code>cargo</code> em tempo de
build.</p>
<h2 id="atualizando">Atualizando</h2>
<p>Depois de baixar novas mudanças, basta rodar <code>just arch</code> novamente e reinstalar:</p>
<pre><code data-lang="sh">git pull
just arch
sudo pacman -U packaging/archlinux/tesseras-*.pkg.tar.zst
</code></pre>

</article>

    </main>

    <footer>
        <p>&copy; 2026 Tesseras Project. <a href="/atom.xml">News Feed</a> · <a href="https://git.sr.ht/~ijanc/tesseras">Source</a></p>
    </footer>
</body>
</html>