O Debian foi a primeira distribuição a distinguir os changelogs de upstream e de empacotamento?

1

Eu gosto da maneira como o Debian dá vários changelogs. Por exemplo, para a maioria dos pacotes, ele tem

  • changelog.gz , o changelog upstream dando detalhes das diferenças entre quaisquer duas versões ou às vezes até mesmo versões pontuais. Hoje em dia geralmente destilado de $ git shortlog ou qualquer comando equivalente em qualquer VCS que esteja sendo usado.

  • changelog.Debian.gz , listando alterações / melhorias feitas em um pacote. Algumas das mudanças comuns incluem mudanças da equipe de empacotamento, mudanças nas versões dos padrões, atualização de build-depends, quaisquer correções que consertam algum problema no Debian que não tenha sido aceito no upstream, quaisquer mudanças em debian/rules ou debian/control que pode ser notável e precisa ser mencionado.

Enquanto estou muito feliz com o modo como o Debian organiza isso, estou pensando se essa idéia de ter changelogs separados, rastreando mudanças de upstream separadamente das mudanças de distribuição para diminuir a confusão, veio do Debian ou de alguma outra distribuição. O Debian foi a primeira distribuição a fazer isso? Se não, de onde veio a ideia?

    
por shirish 26.08.2017 / 22:10

1 resposta

2

O Debian não foi a primeira distribuição a separar os changelogs, mas pode ter sido o primeiro a manter os changelogs por pacote.

Os registros de alterações de software já existem há muito tempo (são uma variante óbvia de cadernos de laboratório ou registros de engenharia). As primeiras distribuições do Linux mantinham seus próprios changelogs de maneira similar; já que registravam as alterações feitas na distribuição, elas eram naturalmente mantidas separadas dos changelogs do software que estava sendo distribuído. Por exemplo, o SLS tinha um changelog com entradas como

920901: Initial release (.96p4).  Didn't use jump tables though.

921007: Release .98p0.  Jump tables used.

921011: menus.taz: new sysinstall and sysbuild.
        a1: New .98p1 image with new sysinstall
        a2: New rootdisk
        image.taz: 0.98p1 kernel, Fixed top.
        devs.taz:  modified /dev directory
        image.taz: Linux .98p1 image, ps, etc.
        lx96p1.taz: Linux source for .98p1 (replaces lx98.taz).
        tcpip.taz: Telnet and fpt 2.2.2 binaries.
        c4/: Added new disk, clisp to compiler series.
        x*: Reorganized and fixed double compressed fonts.

A MCC anterior também tinha changelogs, por exemplo este para 0.99p8 .

Usuários familiarizados com o Slackware acharão o formato familiar; O Slackware ainda mantém os changelogs de toda a distribuição.

Para SLS e Slackware, um único registro de alterações de distribuição fazia sentido porque ambos eram inicialmente o trabalho de uma pessoa (Peter MacDonald para SLS, Patrick Volkerding para Slackware) e mudanças foram pensadas em termos de toda a distribuição, não individual pacotes (pelo menos, não na mesma medida que hoje em dia).

Como você descobriu na discussão da lista de discussão sobre debian-devel , As práticas atuais do changelog no Debian não estavam presentes desde o início. No início de 1994, o Debian 0.91 tinha um changelog que abrangia toda a distribuição. pacotes não contêm um changelog (pelo menos, não seus pacotes binários). No final de 1994 e no Debian 0.93, os pacotes fonte possuíam changelogs individuais, mantidos em debian.README (que também contém informações de licenciamento); veja Patch de embalagem do LILO para um exemplo :

Changes

9-July-1995 Bruce Perens <[email protected]>
    Upgraded to version 16.

23-December-1994 Bruce Perens <[email protected]>
    Added Debian GNU/Linux package maintenance system files, and configured
    for Debian.

(Note que olhar para pacotes como dpkg ou a documentação Debian, como sugerido na lista de discussão, não é tão útil porque são pacotes nativos, com um único changelog cobrindo mudanças de software e pacotes). / p>

Assim, parece que o Debian foi a primeira distribuição Linux a armazenar changelogs por pacote, específicos da distribuição, separados dos changelogs do upstream. Outras distribuições seguiram o exemplo, pelo menos parcialmente, com por exemplo, RPMs armazenando changelogs em seu arquivo de especificações (embora com menos detalhes que os changelogs do Debian, e somente no pacote fonte). Pode haver práticas semelhantes no mundo BSD, eu não verifiquei; e não consigo lembrar quais iniciativas de empacotamento, se houver, estavam disponíveis para outros sistemas Unix no início dos anos noventa.

    
por 05.09.2017 / 13:31