domingo, 23 de março de 2025

Declaração de Missão Groff 2014

Declaração de Missão Groff 2014

(texto inteiramente traduzido, e não revisado, do inglês para o português pelo Google Translator)

Como a implementação mais amplamente implantada do troff em uso hoje, o groff ocupa um lugar importante no universo Unix. Frequentemente e erroneamente descartado como um programa legado para formatação de manuais Unix (manpages), o groff é, na verdade, um sistema sofisticado para produzir material tipográfico de alta qualidade, desde correspondência comercial até relatórios técnicos complexos e livros prontos para impressão. Com um histórico impressionante de compatibilidade com versões anteriores, ele continua a evoluir e a desempenhar um papel de liderança no desenvolvimento de software de composição livre.

O desenvolvimento futuro se concentrará nos recursos de composição do groff, com o objetivo de melhorar a formatação automática de documentos sem perda correspondente do controle do usuário sobre detalhes tipográficos. Além do binário principal, onde grande parte do trabalho será feito, o sistema compreende uma linguagem macro, conjuntos de macros pré-construídos, pré e pós-processadores e drivers para saída em vários formatos. O princípio orientador para mudanças nessas partes será melhorar e estender, não alterar, especialmente com relação ao uso estabelecido.

Uma parte fundamental do mandato do projeto será corrigir problemas que historicamente desencorajaram a adoção generalizada do groff. Os problemas incluem a superioridade percebida do TeX para composição tipográfica de uso geral, a longa e um tanto infeliz associação com manpages e a dificuldade de dominar as solicitações de composição tipográfica de baixo nível do groff.

Em termos gerais, o desenvolvimento será canalizado para duas áreas:
* ♦ [1]core groff

* – o backend de composição tipográfica e solicitações de formatação de baixo nível

♦ [2]uso do programa
* – conjuntos de macros de uso geral e manpages

Melhorias e aprimoramentos em outras áreas do sistema continuarão a formar uma parte rotineira do crescimento do groff, com suporte ativo para contribuições fornecidas por uma equipe de especialistas em groff.

Núcleo groff

O backend

Atualmente, o Groff usa um algoritmo guloso para formatar parágrafos uma linha por vez, mas o algoritmo Knuth-Plass, implementado no TeX, Heirloom troff e em outros lugares, otimiza quebras de linha em parágrafos inteiros e obtém um cinza tipográfico mais uniforme. Um dos desafios mais empolgantes que o Groff enfrentará será implementar um algoritmo de formatação aprimorado, sendo o candidato mais provável o Knuth-Plass. É um trabalho grande, mas com a base de código limpa do Groff e a comunidade útil de especialistas, espera-se que desenvolvedores adicionais se apresentem e contribuam com suas habilidades de programação.

Igualmente importante será instituir suporte nativo para TrueType, Open Type e outras fontes PostScript não Type1, e melhorar o suporte Unicode.

Solicitações de formatação de baixo nível

Solicitações de formatação de baixo nível suplementares continuarão a ser adicionadas, e o comportamento de algumas solicitações existentes será revisado, com cuidado para manter a compatibilidade com versões anteriores sempre que modificações forem consideradas valiosas.

No nível de solicitação, o uso de aritmética de inteiros e avaliação linear de expressões por groff remonta à idade da pedra. Embora não seja prioridade máxima, esses e outros empecilhos históricos (leia-se "aborrecimentos") serão abordados — novamente, com um olhar atento para a compatibilidade com versões anteriores.

Uso do programa

Conjuntos de macros de uso geral

Os conjuntos de macros formam a interface de usuário principal para o groff. Conjuntos bem projetados e bem documentados ajudam a tornar o groff acessível aos usuários — novos usuários em particular. A adoção ou rejeição do programa geralmente se baseia em se os conjuntos disponíveis atendem às necessidades do usuário sem exigir o domínio de solicitações de baixo nível. A curva de aprendizado e a facilidade de uso são igualmente importantes.

A área mais ativa do desenvolvimento do groff na última década foi em conjuntos de macros, com [3]mom sozinho adicionando mais de 13.000 linhas de código e 1 MB de documentação ao projeto. O suporte para conjuntos de macros existentes e o design e desenvolvimento de novos, portanto, desempenharão um papel significativo no futuro do groff.

Manpages

A necessidade de manuais Unix renderizarem de forma limpa para múltiplas mídias de saída favorece a marcação estrutural em vez da de apresentação, no entanto, as macros clássicas man(7) permanecem quase exclusivamente de apresentação. O mdoc(7) fornece uma alternativa semanticamente superior, mas o uso do man(7) está profundamente enraizado no Unix.

O trabalho futuro em manpages envolverá a melhoria da clareza semântica das macros man(7), desacoplando-as o máximo possível de solicitações de apresentação de baixo nível. O objetivo será facilitar a conversão de manpages para linguagens de marcação que não dependem do groff para exibição e impressão, por exemplo, XML, preservando a riqueza de apresentação completa das manpages processadas com o groff.

Simultaneamente ao trabalho no man(7), o mdoc(7) será ativamente suportado e seu uso promovido.

Para resumir, o objetivo desta estratégia dupla é promover a marcação de manpage que:
* ♦ renderiza de forma limpa para o terminal
* ♦ respeita a marcação de apresentação quando a saída para PostScript
* ♦ permite análise semântica
* ♦ é portátil

Olhando para frente, olhando para trás

A compatibilidade com versões anteriores de documentos e uso existentes continuará sendo uma prioridade máxima, assim como evitar o inchaço de recursos e o aumento de despesas gerais. A viabilidade e vitalidade do Groff dependem tanto disso quanto do desenvolvimento voltado para o futuro.

Finalmente, espera-se que os usuários e contribuidores do Groff promovam seu uso, fornecendo uma defesa discreta para encorajar uma adoção mais ampla do programa, aumentando assim o grupo de potenciais contribuidores e desenvolvedores e promovendo a causa da boa tipografia.

©2014 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110, EUA

quarta-feira, 5 de março de 2025

Lançamento do LFS e do BLFS Versão 12.3

A comunidade Linux From Scratch tem o prazer de anunciar o lançamento do LFS Versão 12.3, LFS Versão 12.3 (systemd), BLFS Versão 12.3 e BLFS Versão 12.3 (systemd).

Esse lançamento é uma atualização importante para LFS e BLFS.

O lançamento do LFS inclui atualizações para binutils-2.44 e glibc-2.41. No total, 48 pacotes foram atualizados desde o último lançamento e atualizações extensivas no texto foram feitas ao longo do livro para melhorar a legibilidade. O núcleo Linux também foi atualizado para a versão 6.13.4.

No geral, ocorreram mais que 100 submissões para o LFS desde a versão estável anterior do livro. Os pacotes que tem atualizações de segurança incluem: expat, jinja2, Python, openssl e vim. Veja-se https://rivendell.linuxfromscratch.org/lfs/advisories/12.2.html para uma descrição completa das atualizações de segurança desde o último lançamento estável.

No BLFS, novos pacotes que foram adicionados incluem: sysmon3/sysmond, zxing-cpp, kdsoap-ws-discovery-client e plasma-activities-stats para kio-extras, docbook-xsl-ns, libgstgtk4 em suporte ao Snapshot, cargo-c necessário para librsvg, LuaJIT para substituir Lua 5.2 e glslc do shaderc necessário para gtk4.

O pacote qt5 foi removido.

Veja-se https://rivendell.linuxfromscratch.org/blfs/advisories/12.2.html para pacotes do BLFS que foram afetados por atualizações de segurança desde o último lançamento estável.

No geral, aconteceram mais de 862 tíquetes fechados por meio de mais de 1.560 submissões feitas no BLFS.

Por favor, veja-se o Registro das Mudanças no livro para uma lista completa de mudanças.

Agradecimentos por esse lançamento vão para muitos(as) contribuidores(as). Notavelmente:

Douglas Reno
Xi Ruoyao
Thomas Trepl
Pierre Labastie
Rahul Chandra
Zeckma

Você consegue ler os livros online[0]-[3], ou baixar[4]-[7] para ler localmente.

Por favor, direcione quaisquer comentários acerca desse lançamento para a equipe de desenvolvimento do LFS em lfs-dev[8] ou blfs-dev[9]. O registro nas listas de discussão é exigido para evitar lixo eletrônico.

-- Bruce Dubbs
LFS

[0] http://www.linuxfromscratch.org/lfs/view/12.3/
[1] http://www.linuxfromscratch.org/blfs/view/12.3/
[2] http://www.linuxfromscratch.org/lfs/view/12.3-systemd/
[3] http://www.linuxfromscratch.org/blfs/view/12.3-systemd/

[4] http://www.linuxfromscratch.org/lfs/downloads/12.3/
[5] http://www.linuxfromscratch.org/blfs/downloads/12.3/
[6] http://www.linuxfromscratch.org/lfs/downloads/12.3-systemd/
[7] http://www.linuxfromscratch.org/blfs/downloads/12.3-systemd/
[8]lfs-dev@lists.linuxfromscratch.org
[9]blfs-dev@lists.linuxfromscratch.org

Lançamento do LFS Versão 12.3

#FOSS #LFS #GNU #Linux #SoftwareLivre

LFS-12.3 Lançamento
Bruce Dubbs - 2025/03/05
A comunidade Linux From Scratch anuncia o lançamento do LFS Versão 12.3.

As principais mudanças incluem atualizações do conjunto de ferramentas para binutils-2.44 e glibc-2.41. No total, 45 pacotes foram atualizados desde o último lançamento. Mudanças no texto também foram feitas ao longo do livro. O núcleo Linux também foi atualizado para a versão 6.13.2.

Os pacotes que tem atualizações de segurança incluem: jinja2-3.1.5, Python-3.13.1 e vim-9.1.1166.

No total, aconteceram 146 submissões no LFS desde a versão estável anterior do livro.

Você consegue ler o livro online[1] ou baixá-lo[2] para ler localmente.

Você consegue ler a versão systemd do livro online em LFS-systemd[3], ou baixar-systemd[4] para ler localmente.

Por favor, direcione quaisquer comentários acerca desse lançamento para a equipe de desenvolvimento do LFS em lfs-dev[5]. Por favor, observe que o registro na lista de discussão lfs-dev é exigido para evitar lixo eletrônico.

Bruce

[0] http://www.br.linuxfromscratch.org/lfs/view/12.3/
[1] http://www.br.linuxfromscratch.org/lfs/downloads/12.3/
[2] http://www.br.linuxfromscratch.org/lfs/view/12.3-systemd/
[3] http://www.br.linuxfromscratch.org/lfs/downloads/12.3-systemd/
[5] lfs-dev@lists.linuxfromscratch.org