Como construir todo o Debian

3

Vamos supor:

  • Eu tenho um espelho do repositório de origem localmente.
  • Eu só quero construir para a arquitetura que estou executando, que é i386 no meu caso.
  • Não estou interessado em personalização. De fato, eu quero que os pacotes binários resultantes sejam tão próximos dos oficiais quanto possível. A partir daí, vou cuidar de como eles estão organizados. Acho que vou usar o reprepro .
  • Eu quero que seja o mais fácil possível.
por Tshepang 07.03.2011 / 21:22

2 respostas

2

O Debian já faz isso internamente, para construir os pacotes binários que eles oferecem para download, e a maioria das ferramentas está na distribuição. (Tudo, exceto alguns scripts de cola, eu acho).

As ferramentas que podem lhe interessar incluem:

  • debian-builder : reconstrua os pacotes a partir do código-fonte
  • buildd , buildd : construa automaticamente alguns pacotes
  • pbuilder : construtor de pacotes pessoal (em um chroot, principalmente destinado a desenvolvedores Debian)
  • Mais geralmente, veja os pacotes marcados com devel::debian ou works-with::software:source ( aptitude search '?tag(devel::debian) | ?tag(works-with::software:source)' ).
por 08.03.2011 / 21:37
1

Talvez algo assim?

#!/bin/bash

# This gets a list of all available packages
for i in $(dpkg -l \* | awk '/^[a-z]/ {print $2}')
do
  # This downloads and unpacks the source.
  # Any src packages already properly unpacked in the cwd won't be downloaded a second time.
  apt-get source $i
  apt-get build-dep -y $i
done

# This finds all buildable directories
for i in $(find . -name debian -type d | sed s/debian.*//g)
do
  cd $i
  debian/rules binary
  cd -
done

Eu sei que você disse que você já tem os pacotes, mas não tenho certeza de qual formato eles estão. Se você já tiver todos os pacotes devidamente descompactados em seu cwd , então o apt irá pular esse pacote e mover para o pacote. o próximo. Você também pode passar -s para o apt-get para testar os comandos.

Quase todos os pacotes devem ser compilados de uma só vez, se você estiver usando a mesma versão que está tentando criar.

Você precisará de muito armazenamento e muito tempo.

    
por 08.03.2011 / 19:52