Debian paketleme hatası

Farklı bir paketleme uygulamasıyla paketlediğim deb paketleri lintian aracı tarafından kabul edilmiyor. Biraz uğraştıktan sonra bunun sebebinin control dosyasının karakter kodlaması olduğunu öğrendim. Karakter kodlaması normalde utf-8 olmalı fakat benim kullandığım. Paketleme aracı control dosyasının içeriğini yönlendirme karakteriyle oluşturuyor( > ). Ve bu karakter galiba yönlendirildiği dosyanın karakter kodlamasını otomatik belirliyor ve çoğunlukla ascii formatında oluşturuyor. O dosyayı utf-8 kodlamasına döndürecek bir komut var mıdır?
Ya da yönlendirmenin direkt utf-8 olmasını sağlayacak bir yöntem.

Paketleme yapılan satırda bir yerlerde encode = "utf-8" gibi bir şey yazmaniz gerekmekte muhtemelen.

Mantıklı fakat sorunumu çözmedi ne yazık ki,
Benim sorunum > karakterinin yönlendirmesiyle oluşan dosyaların karakter kodlamasının çoğunlukla ascii olması. Bir dosyanın karakter kodlamasını değiştirmnin bir yolunu arıyorum.
Ya da bir değişkenin içeriğini bir dosyaya utf-8 olarak yazdırmanın bir yolunu.

Öyle bir şey olsaydı encoding="utf-8" olurdu muhtemelen.

Sorunla alakalı, şöyle bir arama yapılabilir.

2 Beğeni

duckduckgo güzel arama motoruymuş :slight_smile:

2 Beğeni

Pek çok arama yaptım ama hepsi iconv ya da recode ile düzeltmeyi anlatıyor.
Denediklerimin hiçbiri istediğim sonucu vermedi.


bu dosyadaki _create_metadata fonksiyonunda bulunan _write_metadata > $PKGDIR/DEBIAN/control yönlendirmesi oluşan control dosyasını ascii yapıyor. Bunun utf-8 olması gerek.

Hangi uygulama? Nasil paketliyorsun?

Hani? Gorebilir miyiz?

Bir dosyanin karakter kodlamasini yaratilma sekli degil, icerigi belirler.

Bildigim hic bir shell yonlendirdigi stream’in icerigine karismiyor, yani sorun muhtemelen yonlendirdigi icerikte.

Her ASCII icerik ayni zamanda UTF-8 bir icerik, yani boyle bir donusume gerek yok.

1 Beğeni

Lintian ascii ile oluşturulmuş control dosyasını kabul etmiyor.
Ve içeriği de kullanıcı belirlediği için ascii de oluşabilir utf-8 de. Ben olası hataların önüne geçmek istiyorum.

ascii programini kullanmana neden gerek olmadigini yazdim.

Icerigi kullanicinin nasil belirledigini soylemedin (ilk sorum). Hatalar da sadece varsayimdan ibaret oldugu icin (ikinci sorum) yapacak bir sey yok.

İlgilendiğiniz için teşekkürler.
Sanırım hatayı çözdüm.
Eğer müsaitseniz başka bir sorum olacak.
Komut satırından nasıl başlatıcı oluşturabilirim?
Ya da bir exe dosyası gibi bir uygulamayı nasıl bir başlatıcıya sıkıştırabilirim?
Mümkün müdür? Ya da tercih edilebilir mi?

Bu arada hata var dediğim paketleme uygulaması şuydu: https://gitlab.com/kurth4ck/unibuild

Baslatici nedir? .desktop dosyasi mi?

Evet. Ama desktop dosyaları Ubuntu 19 itibariyle yalnızca menü dizinlerinde çalışıyor. linux mint’te hala destekleniyor.

XDG standart yerleri yok mu .desktop dosyalarinin bulunup okundugu?

O olayı tam anlamadım (araştırdığımda da bir yer çıkmadı). Ama ubuntu’yu güncellediğimde gördüm ki masaüstünde desktop dosyalarına sağ tıklayıp Başlatmaya İzin Ver’e basınca oluyor artık. Sanırım güvenlik nedenleri sebebiyle bu işlemi yapmadan çalıştıramıyoruz.

XDG’yi xdg-open komutunda gördüm, dosyayı açmaya yarıyordu, (Nautilus’ta dosyay çift tıklamak gibi). Ama ne olduğunu bilmiyorum. Araştırmam da sonuç vermedi. Nedir bu acaba?

Hmm, freedesktop.org olarak yonlendirmek daha mantikli olacakmis sanirim.

.desktop dosyalarinin spesifikasyonunda XDG geciyor. XDG_DATA_DIRS'deki directory’lerden birine koyulmalari gerektigini ima ediyor. Suna da bakilabilir.

1 Beğeni