aboutsummaryrefslogtreecommitdiff
path: root/documentacao.mdwn
blob: 1423413b9d2e97a29f92e83f05622c17b9e861eb (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
[[!meta title="Documentação"]]

Sobre
-----

* Apenas conteúdo em [copyleft](https://pt.wikipedia.org/wiki/Copyleft) ou uso justo é disponibilizado.
* Por limitação de espaço e banda, nem todos os arquivos estão disponíveis online.
* Se você achar um link quebrado de um arquivo que queira baixar, entre em contato que possivelmente o disponibilizaremos.
* Se você possui algum arquivo que queira disponibilizar, entre em contato que avaliaremos a viabilidade.
* Para entrar em contato, escreva para `arquivo arroba sarava.org`.

Criação
-------

O sistema foi usa o [git-annex](http://git-annex.branchable.com) e foi criado usando [esta dica](http://git-annex.branchable.com/tips/setup_a_public_repository_on_a_web_site/).

Obtendo uma cópia
-----------------

Usando git:

    git clone git://git.sarava.org/arquivo.git

Usando git via https:

    git clone https://arquivo.sarava.org/.git arquivo

Usando rsync:

    rsync -avz rsync://arquivo.sarava.org/arquivo/ arquivo/

Usando httrack:

    httrack http://arquivo.sarava.org/

Restaurando o espelho principal
-------------------------------

No caso de alguma falha, proceda a partir de uma das cópias:

    git clone --bare arquivo arquivo.git # um repositório bare é copiado mais rapidamente
    rsync -avz -e 'ssh -p PORTA' arquivo.git/ arquivo@SERVIDOR:/var/cache/sites/arquivo.git

Já nos servidor remoto:

    cd /var/cache/sites
    git clone arquivo.git arquivo && rm -rf arquivo.git
    chown -R arquivo. arquivo
    cd arquivo && git annex init SERVIDOR && make whoami && make post_update

A partir deste ponto você já pode adicionar usar o repositório normalmente.

Compilando a documentação
-------------------------

Esta documentação é mantida usando um [compilador de sítios estáticos](https://rhatto.sarava.org/static/). Para compilá-la, use

    make web

Notar que:

* O sítio estático é gerado *na mesma pasta* do repositório para facilitar sua replicação e espelhamento.
* Assim, caso algum arquivo de documentação seja renomeado, os correspondentes arquivos gerados estaticamente também devem ser renomeados para evitar o acúmulo de detritos digitais.

Atualização automática
----------------------

Conteúdos baixados de outros sites pode ser automaticamente incluídos no `git-annex` diariamente através [de um cronjob](/bin/cron) como o seguinte:

    30 6 * * * /var/cache/sites/arquivo/bin/cron

* Um [post-update hook](/bin/post-update) é disponibilizado para facilitar atualizações depois de um `git annex sync`.
* O [git-annex watch](http://git-annex.branchable.com/design/assistant/inotify/) também pode ser utilizado.