Paulo Henrique Benitez <[EMAIL PROTECTED]> wrote: > Ol� lista, Oi,
> Tenho uma pequena d�vida sobre RPMs. Quando busco RPMs em >http://www.rpmfind.net, al�m dele me retornar diversos deles, tamb�m >traz de qual distribui��o � cada um. Gostaria de saber se eu instalar um >pacote que n�o seja da minha distribui��o, o programa funcionar� >adequadamente? ... Por exemplo: Uso o Red Hat 7.2 . Se eu instalar um >RPM do conectiva ou mandrake, este funcionar� adequadamente? ... >Obrigado e Abra�os... parte do seguinte principio: - Se um pacote for de outra distribui��o, ele s� funcionar� com sorte. Para se ter sorte: ;) - Nunca use rpm -Uvh, mas sim rpm -ivh para instala-lo Isso porque se for para atualizar, voc� poder� tirar o pacote ja oficial da distribui��o o que pode n�o funcionar. Se o rpm instalar, quer dizer que n�o houve conflitos e nenhum pacote "oficial" foi desinstalado. - Nunca, mas NUNCA (___NUNCA___ MESMO) use as op��es --force e --nodeps do rpm Se algu�m te disser para fazer isso, n�o confie. Essas op��es foram criadas para que os rpms n�o funcionassem bem demais, sen�o n�o teria muita gra�a em algo funcionando muito bem ;) S�rio agora, essas op��es ignoram as dependencias corretas e seu sistema poder� passar a n�o funcionar direito. Se tiver o apt instalado (CL, ML, PLD), rode o "apt-get check" para checar o seu sistema. - Evite misturar programas feitos em c++ entre distibui��es. Isso porque ele s� funciona em sistemas baseados no mesmo gcc - O CL, Debian, Suse (se n�o me enganam) usam o gcc 2.95 como padr�o (� o mais est�vel) - O RH, e o ML usam a vers�o quebrada do gcc 2.96. Isso quer dizer que __pode__ ser que se voc� usar um pacote do mdk no rh ou do cl no suse funcione - Como saber se um pacote foi feito em c++? simples: $ rpm -qR <nomedopacote.rpm> | grep libstdc -c Se retornar 0, n�o depende, se retornar >0 depende. - Se ocorrer conflito de arquivos durante a instala��o de pacotes � porque pacotes diferentes entre as distribui��es usam o mesmo arquivo, ou seja n�o vai funcionar mesmo. Para al�m de sorte, fazer funcionar mesmo: - crie o arquivo ~/.rpmmacros e coloque o seguinte conte�do nele: %packager SEU NOME <SEU@EMAIL> %_topdir %(echo $HOME)/rpm/ S� corrija o seus dados nele. depois disso crie a seguinte arvore de diret�rios mkdir -p ~/rpm/SPECS ~/rpm/SOURCES ~/rpm/SRPMS ~/rpm/BUILD \ ~/rpm/RPMS/i386 ~/rpm/RPMS/i486 ~/rpm/RPMS/i586 \ ~/rpm/RPMS/i686 ~/rpm/RPMS/noarch - agora se o pacote for muito bem feito, voc� baixa o SRPM dele (aquele que tem o .src.rpm no final) e roda: rpm --rebuild <nome do pacote .src.rpm> - Se nada der errado voc� ter� um pacote em ~/rpm/RPM/i386 que ter� 98% de chance de funcionar. - Se algo der errado voc� ter� de corrigir no bra�o: rpm -ivh <nome do pacote .src.rpm> cd ~/rpm/SPECS vi <nome do pacote>.spec (fa�a um ls antes para ver o nome correto) - edite o arquivo e o salve - rode: rpmbuild -ba <nome do pacote>.spec - Dando tudo certo haver� um pacote novamente em ~/rpm/RPM/i386 - Conselhos: - Sempre que precisar editar um spec, No campo "Release: ", coloque algo como 1phb_cl ou 2phb_rh ou 1php_mdk - O n�mero significa a "edi��o" do pacote (sempre aumenta de um em um) - O phb � uma sigla para designar que foi voc� quem fez, pode ser qualquer coisa (eu costumo usar rsd ou swi nos meus). - O cl ou mdk ou rh se refere a distribui��o que voc� usa - Em outras palavras: 1phb_rh significa: Relase #1 do pacote feito pelo Paulo h.b. para o Red Hat - Funcionando, coloque os SRPMS que esta em ~/rpm/SRPMS e o RPM que esta em ~/rpm/RPMS/i386 em algum ftp ou p�gina e avise a lista ;) - Se precisar de ajuda com o SPEC fica para outro email. abra�os, Raul Dias Assinantes em 07/03/2002: 2247 Mensagens recebidas desde 07/01/1999: 157408 Historico e [des]cadastramento: http://linux-br.conectiva.com.br Assuntos administrativos e problemas com a lista: mailto:[EMAIL PROTECTED]
