Yazılım Geliştirme Ekibine Proje Öneri/İstekleriniz

Başlatan sem, 28 Eylül 2010 - 01:44:51

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

sem

Arkadaşlar;

http://forum.ubuntu-tr.net/index.php/topic,22253.msg267537.html#msg267537

Başlığından bildiğiniz üzere böyle bir ekip kuruldu ve yavaş yavaş çalışmalarına başlayacak... Sizinde istek veya önerileriniz olursa Python ekibine önerilerinizi bu başlık altından dile getirebilirsiniz. Yapılabilip, yapılamayacağı ya da gerekli görülüp görülmeyeceğine göre ortak bir karar ile sonuca bağlarız.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

macroasm


sem

Ben bildiğim şekilde söyleyeyim;

Öncelikle bir dizin olutşturun, örneğin "debian" (benim öğrendiğim yerde bu şekildeydi doğrudan bu örnekten gideceğim.)

Bu dizin içerisinde DEBIAN isimli bir dizin daha oluşturarak içerisine "control" adında bir dosya oluşturun.

Toparlayalım; çalışacağınız dizine gelerek şu hiyerarşiyi oluşurun ve dizin içerisine girin;

mkdir -p debian/DEBIAN && cd debian/DEBIAN

debian isimli bir dizin ve debian içerisinde DEBIAN isimli bir alt dizin oluşturduktan sonra bu alt dizine girdik.

nano control

dedikten sonra dosya içeriğini örneğin şu şekilde doldurun;

Alıntı YapPackage: kisayol-olusturucu
Priority: extra
Maintainer:www.ubuntu-tr.net
Architecture: i386
Version: 1.0
Description: Kısayollarınızı düzenleyeceğiniz ufak bir uygulama.

(nano'dan çıkış için ctrl + x kaydetmek için yönlendirmeleri takip edin)

Daha sonra debian dizinine dönerek .deb paketinin sistemde oluşturacağı dosyaların bir klonunu bu dizin içerisine oluşturacaksınız. Örneğin programınızın verilerini /usr/share dizini altında Program adında bir dizinde saklayacaksanız ; "debian" dizininde "/usr/share/Program" hiyerarşisini oluşturmanız gerekiyor. Daha sonra Program dizini içerisine .deb paketinin hangi dosyaları yüklemesini istiyorsanız bu klon içerisine bu dosyaları kopyalayızınız.

Daha sonra terminalden "debian" dizininin bir üst dizinine geçerek;

fakeroot dpkg-deb --build debian

Komutunu verdiğinizde verdiğinizde .deb paketiniz oluşacaktır. control dosyasının içeriği ise .deb paketine şu şekilde yansıyacak;






Bu iki resimde de görülen "Included files" sekmesinden ise  dosyalarınızın hiyerarşisinin doğruluğunu kontrol edebilirsiniz.

ÖNEMLİ NOT: Bu anlattıklarım bir .deb paketinin  oluşturulabilmesi için gerekli minimum birimlerdir. Aslında bunlar dışında DEBIAN dosyasında olması gereken bazı dosyalar daha vardır. Dediğim gibi bunlar bir .deb paketinin minimum halidir.

Ben şu an bu şekilde işimi görüyorum. Eğer daha detaylı öğrenebilirsem tekrardan eklenmesi gerekenleri bildiririm, fakat zaten siz şuradan çok daha detaylı bilgiye ulaşabilirsiniz (DEBIAN dizini gereksinimleri ve control dosyası hakkında);

http://www.belgeler.org/howto/dpkg-deb-nasil_intro.html

".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

alquirel

@sem0900,
.deb gibi her gün onlarca kez elimizden geçen bir şeyin nasıl oluştuğu/oluşturulduğu bu forumda da olmalıydı zaten ;)

Yani bu forumda da olması gereken güzel bir anlatım olmuş, teşekkürler.

macroasm


sem

@alquirel, size de teşekkürler... Tamamını yapmayı da öğrendiğimde onu da ayrı başlık altında paylaşmayı düşünüyorum, umarım öğrenirim en kısa zamanda.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

bytan

Umut en büyük kötülüktür; işkenceyi uzatır. - F.N.


Bir şey ne ise odur, bu kadar. Öyleyse, iki şey arasında bağdaşıklık varsa, bu aralarında iletişim kuruyorlar demek değildir.
"... kavrayışını bilgi ile derinleştir ..."
PF @ ST

carantinas

http://www.youtube.com/watch?v=_VhkjntHxWI

burda iphone icin .deb paketlerinin nasıl olusturulacagı anlatılıyor sanırsam butun debian kokenleri de bu sekilde yapılyor arkadasın da anlattgına benziyor.

eribol

Cydia denilen programın deb yapma aşamasını anlatıyor. Ama Windows üzerinde ayarları yapıp ftp ile linux sunucusuna bağlanıyor ve yine ubuntu(veya debian) üzerinde deb haline getiriyor.

carantinas

cydia iphone ' illegal yollardan program yuklemeye yarıyan bir aractır bildiginiz uzere apple store butun uygulamarı kendisi parayla satar fakat telefonun alt yapısını kırarsanız ucretsiz yukleme yapabilirsiniz ve iphone .deb uzantılı yapılarla calısmaktadır. windowsta winscp adlı program ubuntunun kullandıgı komutları kullanıyor bu anlatımda tek var .deb paketini winscp adlı program da telefonun dosya sistemine atarak yapıyorlar. bu işten baya para kaldıran insanlar var tabi..

sem

".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

utdmr

Merhaba, şöyle bir fikrim var:

Biraz önce @sem0900'ın yeni Qt sürümü ile ilgili bir uyumsuzlukla karşılaştığını okuduğumda aklıma geldi. Ben de Python ile ilgili çeşitli dağıtımlarda sorun yaşadım. Bunun için şöyle bir program düşündüm.

Şimdi bir program yaratsak, biz bu programa belli başlı dağıtımların son bir-iki sürümlerinin depolarını okuma yeteneği ve de o programların o dağıtımlardaki isimlerini girsek, program da bize o anki sürümlerini söylese.

Atıyorum "pyqt" dediğimde:

Ubuntu 10.02: python-qt 4.5.5
Ubuntu 10.10: python-qt 4.6.5
Ubuntu 11.02: python-qt 4.7.8
ArchLinux: pyqt 4.8.4
Debian Sid: python-qt 4.8.0
...

Tarzı cevap verse. Biz de kolayca "bu program şu dağıtımların şu sürümlerinde çalışır" desek, nasıl olur?
Kişisel Blogum: Çoğunlukla Zararsız - cogunluklazararsiz.org
--
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -and a lot of courage- to move in the opposite direction.

sem

Bence çok iyi olur =)

İnternet sitelerinden çekeceğiz sanırm değil mi? Depo bilgilerinden aratıp bulup bir ayıklama işleminden sonra sürümü alacağız?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

utdmr

Alıntı yapılan: sem0900 - 19 Temmuz 2011 - 18:08:05
İnternet sitelerinden çekeceğiz sanırm değil mi? Depo bilgilerinden aratıp bulup bir ayıklama işleminden sonra sürümü alacağız?
Aslında üç fikrim var bu konuda.

Birisi atıyorum "Ubuntu" için packages.ubuntu.com'dan aratıp sonuçları parse etmek. Bu fikrin sorunu, her dağıtımın bu olayı sağlamama ve web sitesinin değişebilme ihtimali.

İkincisi dağıtımların paket kaynaklarında dolaşıp sonuca bakmak. Ubuntu için şu /etc/apt/sources.list'e eklediğimiz depolara bakmak. Bunun sorunu da bütün depoyu indirmek zorunda olmamız, zaman alır.

Üçüncüsü ise http://distrowatch.com/table.php?distribution=ubuntu adresindeki tabloyu çekip parse etmek. Bu en kolayı, her dağıtım için ayrı ayrı kodlamak zorunda değiliz, ama dezavantajı ise orada distrowatch'ın seçtiği paketlerle sınırlı kalmamız. gcc, python gibi önemli paketler olmasına rağmen, örneğin pyqt paketleri listelenmiyor.
Kişisel Blogum: Çoğunlukla Zararsız - cogunluklazararsiz.org
--
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -and a lot of courage- to move in the opposite direction.

Kadir Can

Bence böyle bir yazılım yapılırsa kendi veritabanınızın oluşturulması daha iyi olur.
Belirli aralıklarla depo sistemlerinden paket adını çekip veritabanını güncellersiniz.
Sanki bu daha rahat olur gibi geliyor.

utdmr

Alıntı yapılan: Kadir Can - 19 Temmuz 2011 - 20:28:16
Bence böyle bir yazılım yapılırsa kendi veritabanınızın oluşturulması daha iyi olur.
Belirli aralıklarla depo sistemlerinden paket adını çekip veritabanını güncellersiniz.
Sanki bu daha rahat olur gibi geliyor.
Evet programlaması ve yönetimi daha rahat olur ama, en azından haftada-ayda bir birinin bu işlemi yapması gerekiyor. Bu da büyük bir yük olur bence, çok bir kullanıcı kitlesi olamayacak bir prgoram için.
Kişisel Blogum: Çoğunlukla Zararsız - cogunluklazararsiz.org
--
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -and a lot of courage- to move in the opposite direction.

Kadir Can

@utdmr;
Bu sefer de dediğin gibi bir sorun var.
O zaman ben senin ikinci tavsiyene katılıyorum.En mantıklısı o gibi geliyor.

alquirel

Alıntı yapılan: Kadir Can - 19 Temmuz 2011 - 20:28:16
Bence böyle bir yazılım yapılırsa kendi veritabanınızın oluşturulması daha iyi olur.
Belirli aralıklarla depo sistemlerinden paket adını çekip veritabanını güncellersiniz.
Sanki bu daha rahat olur gibi geliyor.
Alıntı yapılan: Kadir Can - 19 Temmuz 2011 - 21:18:20
@utdmr;
Bu sefer de dediğin gibi bir sorun var.
O zaman ben senin ikinci tavsiyene katılıyorum.En mantıklısı o gibi geliyor.

CronJob ile o sorunun üstesinden gelinebilir. Çok da mantıklı olur :)
Her seferinde farklı biçimdeki bir veriden ayıklama yapmaktansa haftada bir ayıklama yaparak uygulamanın anlayacağı en basit biçime sokup o biçimden veri döndürmek en güzeli sanki.

utdmr

Alıntı yapılan: alquirel - 20 Temmuz 2011 - 02:06:39
CronJob ile o sorunun üstesinden gelinebilir. Çok da mantıklı olur :)
Her seferinde farklı biçimdeki bir veriden ayıklama yapmaktansa haftada bir ayıklama yaparak uygulamanın anlayacağı en basit biçime sokup o biçimden veri döndürmek en güzeli sanki.
Evet, güzel oldu, teşekkürler :). Hatta sanki şöyle bir şey bile yapabiliriz: Paket deposunu parse etmek yerine, konsoldan paket versiyonunu öğrenip siteye bildiren bir script(cronjob ile), ve de siteden son paket versiyonunu çeken bir script(istendiğinde) olur gibi, hem dpkg'nin yaptığı işi biz yapmaya kalkmayız bu şekilde. Ama şimdi de sunucu kısmı biraz zorlaştı gibi.
Kişisel Blogum: Çoğunlukla Zararsız - cogunluklazararsiz.org
--
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -and a lot of courage- to move in the opposite direction.

ironic

Bash ile şöyle bir şey hazırladım. 



#!/bin/bash


function ubuntu() {
echo -e "\n\n\033[0;33m===== UBUNTU =====\n\n"
UBUNTU_R="http://packages.ubuntu.com/search?keywords=$1&searchon=names&suite=$2&section=all"

curl -Lfs ${UBUNTU_R} | sed  -n -e 's:[^<]*<br>\(.*\)\:.*:\1:p;s:[^<]*<h3>Package \(.*\)</h3>:\1:p'| \
sed 's:\[<strong.*</strong>\]::g' | gawk '{a=$0;getline;printf "\033[0;32m%-40s\033[0;33m%s\033[0m\n",a,$0}'
}

function archlinux() {
echo -e "\n\n\033[0;33m===== ARCHLINUX =====\n\n\033[0m"

for repo in core extra community
do
  for arch in any i686 x86_64
  do
    curl -lLfs "ftp://mirrors.kernel.org/archlinux/${repo}/os/${arch}/" | grep --color=always "$1"
  done
done

}

function pardus() {
echo -e "\n\n\033[0;33m===== PARDUS =====\n\n\033[0m"
PARDUS_R="ftp://ftp.pardus.org.tr/pub/pisi/source/$2/"


curl -lLfs ${PARDUS_R} | grep --color=always "$1"
}

function kullanim() {
cat <<EOF


-a, --archlinux <paket_adı>            : Archlinux depolarında girilen paketi arar.

-u, --ubuntu  <paket_adı> <dagitim>    : Ubuntu depolarında girilen paketi arar. Varsayılan dağıtım natty dir. (natty..-> hardy) dir.

-p, --pardus <paket_adı> <dagitim>     : Pardus depolarında girilen paketi arar. Varsayılan dağıtım 2011 dir.(corporate2,2009)

-t, --tumu <paket_adi>                 : 3 dagıtımın depolarında girilen paketi arar.


EOF
}

case $1 in
-a|--archlinux)
archlinux "$2"
exit 0 ;;
-u|--ubuntu)
ubuntu "$2" ${3:-natty}
exit 0 ;;
-p|--pardus)
pardus "$2" ${3:-2011}
exit 0 ;;
-t|--t[uü]m[uü])
ubuntu "$2" ${3:-natty}
archlinux "$2"
pardus "$2" ${3:-2011}
exit 0 ;;
*)
kullanim
exit 1 ;;
esac



Ubuntu, Pardus ve Archlinux destekleniyor.  Archlinux için kernel.org , Pardus için kendi yansısını kullandım.  Ubuntu da depo çok fazla olduğundan packages.ubuntu.com dan ayıklama yaptım.


Bağımlılık olarak Curl ve Gawk gerekli.

Kullanım:

Alıntı Yap
   -a, --archlinux <paket_adı>            : Archlinux depolarında girilen paketi arar.   

   -u, --ubuntu  <paket_adı> <dagitim>    : Ubuntu depolarında girilen paketi arar. Varsayılan dağıtım natty dir. (natty..-> hardy) dir.

   -p,   --pardus <paket_adı> <dagitim>     : Pardus depolarında girilen paketi arar. Varsayılan dağıtım 2011 dir.(corporate2,2009)

   -t, --tumu <paket_adi>                 : 3 dagıtımın depolarında girilen paketi arar.


sem

Seni görmek güzel, bu şekilde görmek daha güzel =)

Eline sağlık...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

burk

Arkadaşlar RSS besleyici programlardan, aldıkları beslemeleri e-posta adreslerine gönderen bir program yapılabilir mi?

utdmr

@ironic, çok teşekkürler, sorunsuz çalışıyor :D. Betik paket versiyonlarını gösterebiliyor mu, eğer gösteriyorsa tam aradığım şey?
Kişisel Blogum: Çoğunlukla Zararsız - cogunluklazararsiz.org
--
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -and a lot of courage- to move in the opposite direction.

ironic

Ben teşekkür ederim arkadaşlar. Güzel bir fikir gerçekten. Benim de çok işime yarayacak. :)

@utdmr, Ubuntu da listeli olarak gösteriyordu betik. Pardus ve Archlinux'ta ftp paket listesini (paket adlarını..) gösteriyordu. Onları da ayıklayıp düzenledim.

Son hali:


#!/bin/bash


function ubuntu() {
echo -e "\n\n\t\t\033[0;33m===== UBUNTU [`echo $2 | tr '[a-z]' '[A-Z]'`] =====\n"
UBUNTU_R="http://packages.ubuntu.com/search?keywords=$1&searchon=names&suite=$2&section=all"

curl -Lfs ${UBUNTU_R} | sed  -n -e 's:[^<]*<br>\(.*\)\:.*:\1:p;s:[^<]*<h3>Package \(.*\)</h3>:\1:p'| \
sed 's:\[<strong.*</strong>\]::g' | gawk '{a=$0;getline;printf "\033[0;32m%-40s\033[0;33m%s\033[0m\n",a,$0}'
}

function archlinux() {
echo -e "\n\n\t\t\033[0;33m===== ARCHLINUX =====\n\033[0m"

for repo in core extra community
do
  for arch in any i686 x86_64
  do
    curl -lLfs "ftp://mirrors.kernel.org/archlinux/${repo}/os/${arch}/" | grep "$1" | \
sed -n -e 's:\([a-z]*\)-\([0-9].*-[0-9]\)-\(.*\)\.pkg.*:\1\t\2\t\[\3\]:p' | \
gawk '{printf "\033[0;32m%-40s\033[0;33m%-20s\033[0;35m%-10s\033[0m\n",$1,$2,$3}'
  done
done

}

function pardus() {
echo -e "\n\n\t\t\033[0;33m===== PARDUS [`echo $2 | tr '[a-z]' '[A-Z]'`] =====\n\n\033[0m"
PARDUS_R="ftp://ftp.pardus.org.tr/pub/pisi/source/$2/"


curl -lLfs ${PARDUS_R} | grep "$1" | sed -n -e 's:\([a-z]*\)-\([0-9].*\.[0-9]\).*:\1\t\2:p' | \
gawk '{printf "\033[0;32m%-40s\033[0;33m%-20s\033[0m\n",$1,$2}'
}

function kullanim() {
cat <<EOF


-a, --archlinux <paket_adı>          : Archlinux depolarında girilen paketi arar.

-u, --ubuntu  <paket_adı> <dagitim>  : Ubuntu depolarında girilen paketi arar. Varsayılan dağıtım natty dir. (natty..-> hardy)

-p, --pardus <paket_adı> <dagitim>   : Pardus depolarında girilen paketi arar. Varsayılan dağıtım 2011 dir. (corporate2,2009)

-t, --tumu <paket_adi>               : 3 dagıtımın depolarında girilen paketi arar.

EOF
}

case $1 in
-a|--archlinux)
archlinux "$2"
exit 0 ;;
-u|--ubuntu)
ubuntu "$2" ${3:-natty}
exit 0 ;;
-p|--pardus)
pardus "$2" ${3:-2011}
exit 0 ;;
-t|--t[uü]m[uü])
ubuntu "$2" ${3:-natty}
archlinux "$2"
pardus "$2" ${3:-2011}
exit 0 ;;
*)
kullanim
exit 1 ;;
esac

yakusha

Parted Video Birleştirici

Hikaye: Az önce internette kült filmlerden isyan'ı buldum ve izlemeye başladım... isyan filmini kişiler sitelerine 1-7 arası 7 part halinde eklemişler... ben de flashgot ile videoları arşivime almak için indirdim. bu bahaneyle indirdiğim videoları nasıl birleştirebileceğime bakınca bunu mencoder ile aşağıdaki kodu (uyarladım eyvallah) kullanarak yapabileceğim, lakin henüz basit bir gui'nin olmadığını öğrendim...

ihtiyaç:
birden çok video dosyasını (partlara ayrılmış mesela) seçip sıralayabileceğim, sonra bunları tek dosya şeklinde birleştirebileceğim basit bir gui ye sahip bir yazılım...

örnek kod:
mencoder -oac pcm -ovc copy /home/sabri/isyan1.mp4 /home/sabri/isyan2.mp4 -o isyan.mp4

grub-on çalışmasını görünce bu uygulamacığın (araştırdım henüz ubuntu için örneğini bulamadım) faydalı basit bir araç olacağı kanaatindeyim...

teşekkürler
Artık bu forumu kullanmıyor.