1 Aralık 2008 Pazartesi

lintian ' da new-package-should-close-itp-bug hatasının düzeltilmesi

Debian Lenny (2.6.26-1kernel) ' de paket yaptığımız bir programı lintianla

lintian paketadi.deb

ile kontrol ederken eğer

new-package-should-close-itp-bug

diye bir hatayla karşılaşıyorsak bu sorunun nedeni changelog.Debian dosyasında bir versiyon girişi var demektir , halbuki bir versiyon'da bir hatayı düzeltmek için bir önceki sürümünün olması gerekir. Yazdığınız programda daha önce düzelttiğiniz hatalar olabilir fakat debian için ilk paket olduğu için hata düzeltmeyi kabul etmiyor.( programın daha eski bir debian sürümü olmadığı için ) .

changelog.Debian ' a alta bir tane eski sürümün girişini yapıp ,

tekrar programın bulunduğu dizine gelip

fakeroot dpkg-deb --build programadi.deb

yapıp ,

lintian programadi.deb

ile kontrol edersek o hatanın ortadan kalktığını görürüz.

Kolay gelsin

lintian ' da unstripped-binary-or-object hatasının giderilmesi

Debian Lenny ( 2.6.26-1 kernel ) ' de herhangi bir debian paketi oluşturup lintianla

lintian paketadi.deb

ile kontrol ettiğimizde eğer:

unstripped-binary-or-object

diye bir hatayla karşılaşıyorsak, bunu düzeltmek için ;

cd paket_yapilacak_programin_bulundugu_dizin_/program_adi/usr/bin

( ya da çalıştırılabilir dosyanın bulunduğu yer )

Burada

strip -s dosyaadi

yaparsak sorunumuz çözülmüş olur.

Kolay gelsin.

configure: error: cannot run /bin/sh ./config.sub hatasının düzeltilmesi

Debian Lenny( 2.6.26-1 kernel) ' de

fakeroot debian/rules binary

ile ikilik paket oluştururken ,

configure: error: cannot run /bin/sh ./config.sub

diye bir hata verdi.

Bunu düzeltmek için libtool paketini yüklememiz gerekiyor:

sudo apt-get install libtool

yapıyoruz.

Sorunumuz ortadan kalkıyor.

Kolay gelsin.

Not: Eğer sudo komutu yoksa/kullanım dışıysa root haklarına sahip olduktan sonra
veya root iseniz komutları sudo yazmadan uygulayınız.



lintian ' da manpage-has-errors-from-man usr/share/man/man8/xxx.8.gz 1: warning: `SH' not defined hatasının çözümü

Debian Lenny (2.6.26-1 kernel) ' de bir programı paketledikten sonra

lintianla ;

lintian xxx.deb

komutu ile kontrol ettiğimde

W: xxxx: manpage-has-bad-whatis-entry usr/share/man/man8/xxxx.8.gz
W: xxxx: manpage-has-errors-from-man usr/share/man/man8/xxxx.8.gz 1: warning: `SH' not defined

hatasıyla karşı karşıya kalıyordum.
Bunu düzeltmek için;

öncelikle paketi hazırladığımız klasöre gelip;

cd xxxx/usr/share/man/man8

ondan sonra

gunzip xxxx.8.gz

ile gzip li dosyayı açıp

vim xxxx.8

ile düzenleyip

ilk iki satıra

.TH programadi
.SH NAME

yazıp gerisine de ilgili açıklama yazarız.

Sonra

gzip --best xxxx.8

ile dosyayı tekrar gzip ile sıkıştırırız.

ana klasöre gelip

fakeroot dpkg-deb --build xxxx

yaparak paketimizi hazırlarız.

lintian xxxx.deb

ile kontrol ettiğimizde sorunun ortadan kalktığını görürüz.

Not: yazıda geçen xxxx lerin hepsi programımızın ismi yerine yazılmıştır.

Kolay gelsin.

Debian'da kaynak kodu derlerken GTK hatası düzeltme

Debian Lenny(2.6.26-1 kernel) ' de gentoo(file manager) derlemek için bilgisayara kaynak kodunu indirdim.İlgili belgeleri okuduktan sonra

sudo ./configure

yaptığımda

checking for gtk-config... no
checking for GTK - version >= 1.2.0... no
*** The gtk-config script installed by GTK could not be found
*** If GTK was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the GTK_CONFIG environment variable to the
*** full path to gtk-config.
configure: error: Bad GTK+ version

çıktısını verip çıkıyor.Bunu halletmek için GTK kütüphanelerini yüklemek gerekiyor.

sudo apt-get install libgtk-dev ( ya da libgtk1.2-dev , zaten bu dosyaya yönlendiriyor )

yapıp tekrar gentoo ( ya da kurmak istediğiniz programın kaynak kodunun olduğu dizine) dizinine gidip

sudo ./configure

yapıyoruz.

checking for gtk-config... /usr/bin/gtk-config
checking for GTK - version >= 1.2.0... yes

çıktısını vererek işleme devam ediyor. Sorunumuz çözülmüş oluyor.

Kolay gelsin.

Not: Eğer sudo komutu yoksa/kullanım dışıysa root haklarına sahip olduktan sonra
veya root iseniz komutları sudo yazmadan uygulayınız.