Aydan Taşdemir Yılmaz

Linux Notları

Recent News

Salı, Kasım 29, 2011

Mailman "Mesajın gideceği yer örtülü "

 
Selamlar,

Mailman yöneticilerinin karşılaştığı bir problemin Türkçe cevabını bulamadığım için bu blog yazısını yazmaya karar verdim. Belki birilerinin işine yarar.

Oluşturduğum mail listesine gönderdiğim mailler her seferinde 
"Neden:  Mesajın gideceği yer örtülü"  
diyerek moderatör onayına takılmaktaydı bunun için [1] kaynağında aşağıdaki nedenler sıralanmış.Bu mesaj liste adresinin To veya CC listesinde bulunamadığı anlamına gelir.
Aşağıdaki nedenlerden birine bağlı olarak oluşturulabilir.

1) Listenin sizin düşündüğünüzden farklı bir domaini olabilir veya mesajın hedef adresi olarak kullanılmış olabilir. Bunu düzgün ayarladığınızdan emin olmak için genel liste ayarları sayfasındaki son girişe ikinci kez bakın.
Eğer siz liste yöneticisi iseniz, ve listeniz için alternatif e-mail adreslerine sahip olmak istiyorsanız( örneğin admin@example.com mail adresi admins@example.com adresini gösteriyor olabillir.) alternatif mail adreslerini liste için bir alias olarak Gizlilik seçenekleri ->Alıcı filtreleri nin altında kabul_edilen alias alanına ekleyebilirsiniz.

2)Mesaj listeye BCC edilmiş , ve direk listeye gönderilmiyor olabilir. Bunun için Gizlilik seçenekleri -> Alıcı filtreleri -> Alias İsimleri kısmına mail grubunun ismini ekleyebilirsiniz.
 
Ben ilkini yaptığımda sorunum düzeldi. Sorunsuz günler dilerim. 

Perşembe, Kasım 03, 2011

Aklımızda bulunsun

Bu komutu ve Perl dilinin bir kaç güzel can kurtarıcı özelliklerini takım liderimiz Sinan sayesinde öğrendim ve benim gibi birilerinin de işine yarar diye buraya yazıyorum. Diyelim birden fazla dosyada bulunan bir kelimeyi, dizin yolunu ve ya tanımlamayı toplu olarak replace etmek istediğinizde

perl -pi -e "s#/home/aydan#/home/aydan/project#" *.py

Yukarıdaki komut örnek olması açısından. Bulunduğumuz dizinde bulunan .py uzantılı dosyalarda bulunan '/home/aydan' kısımlarını '/home/aydan/project' olarak değiştirmeye yarıyor. Böylelikle bütün dosyaları tek tek editlememize gerek kalmıyor.

Engin bilgileriyle işlerimi kolaylaştırmamda yardımcı Sinan Alyürük'e kocaman bir teşekkür :)

Salı, Ekim 18, 2011

Gitorious Kurulumu [Ubuntu 10.04]


1)GEREKLİ PAKETLER
--build-essential_11.4
--zlib1g-dev-2.3.3
--tcl-dev-8.4.16-2
--libexpat-dev-2.0.1
--libcurl4-openssl-dev-7.19.7
--apache2-2.2.14
--mysql-server-5.1.41
--mysql-client-5.1.41
--apg-2.2.3
--geoip-bin-1.4.6
--libgeoip-dev-1.4.6
--sqlite3 -3.6.22
--libsqlite3-dev-3.6.22
--imagemagick-7:6.5.7.8
--memcached-1.4.2
--git-svn-1.7.0.4

=>Gerekli paketleri sisteme kuruyoruz.

#apt-get update

#apt-get install build-essential zlib1g-dev tcl-dev libexpat-dev libcurl4-openssl-dev postfix apache2 mysql-server mysql-client apg geoip-bin libgeoip1 libgeoip-dev sqlite3 libsqlite3-dev imagemagick libpcre3 libpcre3-dev zlib1g zlib1g-dev libyaml-dev libmysqlclient15-dev apache2-dev libonig-dev phpmyadmin libmagick++-dev zip unzip memcached git-core git-svn git-doc git-cvs irb sphinxsearch

Myql kurulumu sırasında

**mysql-root password: mysql_parolaniz

**webserver configuration : apache2

**Configure database for phpmyadmin with dbconfig-common? No şeklinde ayarlıyoruz.

2)ACTIVEMQ KURULUMU
#apt-get install uuid uuid-dev openjdk-6-jre

#wget http://archive.apache.org/dist/activemq/apache-activemq/5.2.0/apache-activemq-5.2.0-bin.tar.gz

#tar xzvf apache-activemq-5.2.0-bin.tar.gz -C /usr/local/

#echo "export ACTIVEMQ_HOME=/usr/local/apache-activemq-5.2.0" >> /etc/activemq.conf

#echo "export JAVA_HOME=/usr/" >> /etc/activemq.conf

#adduser --system --no-create-home activemq

#chown -R activemq /usr/local/apache-activemq-5.2.0/data

3)NETWORKCONNECTORS AYARLARINI DÜZENLEME
Activemq.xml dosyasını açıp

#vi /usr/local/apache-activemq-5.4.2/conf/activemq.xml

Aşağıdaki satırları ekliyoruz.

<networkConnectors>
<!-- by default just auto discover the other brokers --
<!-- Example of a static configuration: --
<networkConnector name="localhost" uri="static://(tcp://127.0.0.1:61616)"/>
</networkConnectors>

4)ACTIVEMQ BAŞLANGIÇ SCRIPT
#cd /tmp

#wget http://launchpadlibrarian.net/15645459/activemq

#mv activemq /etc/init.d/activemq

#chmod +x /etc/init.d/activemq

#update-rc.d activemq defaults

#service activemq start

5)RUBY ENTERPRISE EDITION İNDİRME VE KURULUM
#wget http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise_1.8.7-2011.03_amd64_ubuntu10.04.deb

#dpkg -i ruby-enterprise_1.8.7-2011.03_amd64_ubuntu10.04.deb
6)RUBYGEMS KURULUMU
#cd /tmp

#wget http://rubyforge.org/frs/download.php/75309/rubygems-1.8.10.tgz

#tar xzvf rubygems-1.8.10.tgz

#cd rubygems-1.8.10

#ruby setup.rb

#ln -s /usr/local/bin/gem /usr/bin/gem

7)GEREKLİ GEMS UYGULAMALARI
#gem install -b --no-ri --no-rdoc rmagick chronic geoip daemons hoe echoe ruby-yadis ruby-openid mime-types diff-lcs json rack ruby-hmac rake stompserver passenger rails ultrasphinx mysql

--rmagick-2.13.1
--chronic-0.6.4
--geoip-1.1.1
--daemons-1.1.4
--hoe-2.12.3
--echoe-4.6.3
--ruby-yadis-0.3.4
--ruby-openid-2.1.8
--mime-types-1.16
--diff-lcs-1.1.3
--json-1.6.1
--rack-1.3.4
--ruby-hmac-0.4.0
--rake-0.9.2
--stompserver-0.9.9
--passenger-3.0.9
--rails-3.1.1
--ultrasphinx-1.11
--mysql-2.8.1

#gem install -b --no-ri --no-rdoc -v 1.0.1 rack

#gem install -b --no-ri --no-rdoc -v 1.3.1.1 rdiscount

#gem install -b --no-ri --no-rdoc -v 1.1 stomp
8)DOĞRU VERSİYON LİNKLERİNİ AYARLAMAK
#ln -s /usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake /usr/bin/rake

#ln -s /usr/local/bin/stompserver /usr/bin/stompserver

8)GITORIOUS İNDİRME VE AYARLAR
Gitorious paketini indiriyoruz
#git clone git://gitorious.org/gitorious/mainline.git /var/www/gitorious

Gerekli init.d scriptlerini kopyalıyoruz.
#cp /var/www/gitorious/doc/templates/ubuntu/git-daemon /etc/init.d/

#cp /var/www/gitorious/doc/templates/ubuntu/git-ultrasphinx /etc/init.d/

/etc/init.d/git-daemon scriptine editlenir.
#vi /etc/init.d/git-daemon

Aşağıdaki gibi düzenlenir.
GIT_DAEMON="/usr/bin/ruby /var/www/gitorious/script/git-daemon -d"

Git-poller ve stomp başlangıç scriptleri oluşturulur.
#vi /etc/init.d/git-poller

git-poller
-------------------------------------------------------------------------------------------------------------------
#!/bin/sh
# Start/stop the git poller
#
### BEGIN INIT INFO
# Provides: git-poller
# Required-Start: stomp
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 1
# Short-Description: Gitorious poller
# Description: Gitorious poller
### END INIT INFO

/bin/su - git -c "cd /var/www/gitorious;RAILS_ENV=production bundle exec script/poller $@"
-------------------------------------------------------------------------------------------------------------------

#vi /etc/init.d/stomp
stomp
-------------------------------------------------------------------------------------------------------------------
#!/bin/sh
# Start/stop the stompserver
#
### BEGIN INIT INFO
# Provides: stomp
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 1
# Short-Description: Stomp
# Description: Stomp
### END INIT INFO


test -f /usr/bin/stompserver || exit 0

. /lib/lsb/init-functions

case "$1" in
start) log_daemon_msg "Starting stompserver" "stompserver"
start-stop-daemon --start --name stompserver --startas /usr/bin/stompserver --background --user git
log_end_msg $?
;;
stop) log_daemon_msg "Stopping stompserver" "stompserver"
start-stop-daemon --stop --name stompserver
log_end_msg $?
;;
restart) log_daemon_msg "Restarting stompserver" "stompserver"
start-stop-daemon --stop --retry 5 --name stompserver
start-stop-daemon --start --name stompserver --startas /usr/bin/stompserver --background --user git
log_end_msg $?
;;
status)
status_of_proc /usr/bin/stompserver stompserver && exit 0 || exit $?
;;
*) log_action_msg "Usage: /etc/init.d/stomp {start|stop|restart|status}"
exit 2
;;
esac
exit 0
-------------------------------------------------------------------------------------------------------------------
git-ultrasphinx scripti aşağıdaki gibi düzenlenir.
#vi /etc/init.d/git-ultrasphinx

START_CMD="cd $GITORIOUS_HOME && /usr/local/bin/bundle exec rake ultrasphinx:daemon:start RAILS_ENV=production"
STOP_CMD="cd $GITORIOUS_HOME && /usr/local/bin/bundle exec rake ultrasphinx:daemon:stop RAILS_ENV=production"
RESTART_CMD="cd $GITORIOUS_HOME && /usr/local/bin/bundle exec rake ultrasphinx:daemon:restart RAILS_ENV=production"
STATUS_CMD="cd $GITORIOUS_HOME && /usr/local/bin/bundle exec rake ultrasphinx:daemon:status RAILS_ENV=production"

Başlangıç scriptlerine gerekli izinler verilir ve aktif hale getirilir.
#chmod 755 /etc/init.d/git-ultrasphinx /etc/init.d/git-daemon /etc/init.d/stomp /etc/init.d/git-poller

#update-rc.d stomp defaults

#update-rc.d git-daemon defaults

#update-rc.d git-ultrasphinx defaults

#update-rc.d git-poller defaults

Apache setup scripti çalıştırıp kuruyoruz
#/usr/local/bin/passenger-install-apache2-module

passenger.load dosyasını oluşturuyoruz.
#vi vi /etc/apache2/mods-available/passenger.load

Aşağıdaki satırları ekliyoruz.

passenger-load
----------------------------------------------------------------------------------------------------------
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.9
PassengerRuby /usr/local/bin/ruby
----------------------------------------------------------------------------------------------------------
#a2enmod passenger

#a2enmod rewrite

#a2enmod ssl
#a2ensite default-ssl

Apacheyi restart ediyoruz.
#service apache2 restart

9)MYSQL KURULUMU
Mysql de gitorious_production veritabanı ve git kullanıcısını ekliyoruz.

#mysql_setpermission

select 2

Which database would you like to add: gitorious_production

What username is to be created: gitorious

Would you like to set a password for git [y/n]: y

What password do you want to specify for git: git_kullanici_parolasi

The following host(s) will be used: localhost.

select 0

Gitorious dosyasını oluşturuyoruz.
#vi /etc/apache2/sites-available/gitorious

gitorious
-------------------------------------------------------------------------------------------------------------------
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/gitorious/public
</VirtualHost>
-------------------------------------------------------------------------------------------------------------------
Gitorious-ssl dosyasını oluşturuyoruz.
#vi /etc/apache2/sites-available/gitorious-ssl
-------------------------------------------------------------------------------------------------------------------
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
DocumentRoot /var/www/gitorious/public
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</VirtualHost>
</IfModule>
-------------------------------------------------------------------------------------------------------------------

Uygun siteleri enable veya disable ediyoruz.
#a2dissite default

#a2dissite default-ssl

#a2ensite gitorious

#a2ensite gitorious-ssl

Git kullanıcısını sisteme ekliyoruz.
#adduser --system --home /var/www/gitorious/ --no-create-home --group --shell /bin/bash git

#passwd git

user:git
password:git_parolasi

Gitorious dizininde git kullanıcısına gerekli izinleri veriyoruz
#chown -R git:git /var/www/gitorious

git kullanıcısına geçiyoruz.
#su - git

gitorious dizinine geçiyoruz.
$cd /var/www/gitorious

.ssh dizinini oluşturuyoruz.
$mkdir .ssh

authorized_keys dosyasını oluşturuyoruz.
$touch .ssh/authorized_keys

.ssh dizininin ve authorized_keys dosyasının izinlerini değiştiriyoruz.
$chmod 700 .ssh
$chmod 600 .ssh/authorized_keys

Gerekli dizinleri oluşturup dosyaları kopyalıyoruz.
$mkdir tmp/pids
$mkdir repositories
$mkdir tarballs
$cp config/database.sample.yml config/database.yml
$cp config/gitorious.sample.yml config/gitorious.yml
$cp config/broker.yml.example config/broker.yml

config/database.yml dosyasını ve config/gitorious dosyasını editliyoruz.
$vi config/database.yml
pruduction kısmından önceki tanımlamaları siliyoruz.

$vi config/gitorious.yml

production kısmından önceki kısımları siliyoruz ve aşağıdaki şekilde ayarlıyoruz.
cookie_secret: dydEchSawnajDiepNaivAuQuatejolgUfsOkjugocyirErbUtdejobkoGregreFr
repository_base_path: "/var/www/gitorious/repositories"
gitorious_client_port: 80
gitorious_client_host: your.hostname
gitorious_host: your.hostname
archive_cache_dir: "/var/www/gitorious/tarballs"
archive_work_dir: "/tmp/tarballs-work"
hide_http_clone_urls: true
is_gitorious_dot_org: false

$export RAILS_ENV=production
$rake db:create
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/shared_helpers.rb:3.
rake aborted!
https://github.com/roman/rots.git (at master) is not checked out. Please run `bundle install`
hatası ile karşılaştık

$logout
$sudo su -
#cd /var/www/gitorious
#bundle install
Using rake (0.8.7)
Installing SystemTimer (1.2.3) with native extensions
Installing activesupport (2.3.8)
Installing activemessaging (0.7.1)
Installing activerecord (2.3.8)
Installing acts-as-taggable-on (2.0.6)
Installing addressable (2.2.6)
Using builder (3.0.0)
Installing json (1.5.3) with native extensions
Installing capillary (0.1.3)
Using mime-types (1.16)
Installing nokogiri (1.5.0) with native extensions /usr/local/lib/ruby/site_ruby/1.8/rubygems/installer.rb:552:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

/usr/local/bin/ruby extconf.rb
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... no
-----
libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

libxslt yok hatası aldığımız için

#apt-get install libxslt1-dev

10)BUNDLE INSTALL
#bundle install
Installing nokogiri (1.5.0) with native extensions
Using rack (1.0.1)
Using rack-test (0.6.1)
Installing ffi (1.0.9) with native extensions
Installing childprocess (0.2.1)
Installing json_pure (1.5.0)
Installing rubyzip (0.9.4)
Installing selenium-webdriver (2.4.0)
Installing xpath (0.1.4)
Installing capybara (1.0.1)
Installing chronic (0.3.0)
Installing daemons (1.1.0)
Installing diff-lcs (1.1.2)
Installing gemcutter (0.6.1)
Using rubyforge (2.0.4)
Installing echoe (4.3.1)
Using eventmachine (0.12.10)
Installing exception_notification (1.0.20090728)
Installing factory_girl (1.3.3)
Installing geoip (0.8.9)
Installing hodel_3000_compliant_logger (0.1.0)
Installing hoe (2.8.0)
Installing launchy (2.0.5)
Installing mocha (0.9.10)
Using mysql (2.8.1)
Installing oauth (0.4.4)
Installing paperclip (2.2.9.2)
Installing proxymachine (1.2.4)
Using rdiscount (1.3.1.1)
Installing redis (2.2.0)
Installing redis-namespace (0.7.0)
Installing sinatra (1.0)
Installing vegas (0.1.8)
Installing resque (1.9.8)
Installing revo-ssl_requirement (1.1.0)
Installing riddle (1.2.2)
Using rots (0.2.1) from https://github.com/roman/rots.git (at master) /usr/local/lib/ruby/site_ruby/1.8/rubygems/installer.rb:365:in `initialize': No such file or directory - /usr/local/lib/ruby/gems/1.8/bundler/gems/gems/rots-0.2.1/bin/rots (Errno::ENOENT)

rots yanlış dizinde arandığı için
#ln -s /var/www/gitorious/rake-0.8.7/ruby/1.8/bundler/gems/rots-babb5559aae8/ruby/1.8/bundler/gems/rots-babb5559aae8/ /var/www/gitorious/rake-0.8.7/ruby/1.8/bundler/gems/rots-babb5559aae8/ruby/1.8/bundler/gems/gems/rots-0.2.1
ile doğru yerde aramasını sağlıyoruz.

Daha sonra /var/www/gitorious/Rakefile dosyasını düzenliyoruz.
#vi /var/www/gitorious/Rakefile
Aşağıdaki satırı ekliyoruz.
require 'thread'

Bundle install çalıştırıyoruz.
#bundle install

bundle kullanarak rake ile db oluşturuyoruz.(git kullanıcısı ile)
$bundle exec rake db:create:all
$bundle exec rake db:migrate
$bundle exec rake ultrasphinx:bootstrap

/etc/crontab dosyasına aşağıdaki satırı ekliyoruz.
* * * * * root cd /var/www/gitorious && RAILS_ENV=production /usr/local/bin/bundle exec rake ultrasphinx:index

Admin kullanıcısını oluşturuyoruz.
$env RAILS_ENV=production ruby script/create_admin

Ssl sertifikası oluşturuyoruz.
#make-ssl-cert generate-default-snakeoil --force-overwrite

Git kullanıcısından çıkıp root olarak

#service apache2 restart

#service git-daemon start

#/etc/init.d/git-ultrasphinx restart

#/etc/init.d/stomp start

daha sonra belirlediğimiz alan adını browser ile açıp kullanıcı adı ve parola bilgilerimizi giriyoruz.

Zorlu bir kurulum süreci olan gitoriousumuz vatana millete hayırlı olsun :))
 Edit: Bu yazı için kaynak belirtmeyerek büyük bir hata işlemişim. Bu kurulumu yaparken [1] adresini referans aldım.

[1]http://www.silly-science.co.uk/2010/12/12/installing-gitorious-on-ubuntu-10-04-howto/

Pazartesi, Ekim 17, 2011

Geliştirici sürecimde mutlu son (:

Yaklaşık bir sene önce bitirme projesine başladığımız zamanlar , Necdet Hoca yaptığımız işin geliştiricisi olmamız konusunda bizleri cesaretlendirmişti. Biz de bu gazla Pardus geliştiricisi başvurusunda bulunmuştuk. Quiz sorularını cevaplayıp gönderdikten sonra junior job dönemi başladı . Mentor ataması konusunda 1 ay bir sorun yaşadıktan sonra Pardus geliştiricilerinden Serdar Dalgıç mentor olarak atandı ve bu yolda bize (Merve ve Ben :) destek oldu.


Zaten yabancısı olmadığımız pisi paketleme işiyle ilgilendik. Bitirme projemizin[Çomak] de başarıyla sonlanmasıyla beraber hızlanan geliştiricilik sürecimiz [1] mailiyle sonlandı ve ben de artık Pardus geliştiricisi oldum.

Bu süreçle ilgili ; ilk adımı atmamızı sağlayan ve her adımda destek veren Necdet Yücel'e , junior job sürecinde her türlü yardımı yapan , bilgilendiren Serdar Dalgıç'a ve tshirt konusunda benimle dalga geçse de Kaan Özdinçer'e teşekkür ederim.




[1]http://liste.pardus.org.tr/gelistirici/2011-October/056955.html

Perşembe, Eylül 29, 2011

Yerel Apt Depomuzu Oluşturalım

Farklı depolardan kullandığınız paketler sizin için önemli ise bu paketleri kaybetmek istemeyebilirsiniz. Bunun için katkı deposu nasıl oluşturulur öğrendiğim kadarını anlatacağım.
Öncelikle bir dizin oluşturalım.

mkdir /home/aydan/depo

Depomuzda bulunmasını istediğimiz paketleri bu dizine ekliyoruz. Sistemimize daha önceden yüklediğimiz paketlerin bir deposunu kurmak istersek ;

cp /var/cache/apt/archives/*.deb /home/aydan/depo

Böylece sistemimizde kurulu bütün paketleri depo dizininin içine kopyaladık.

İçinde .deb paketlerimizin bulunduğu dizine geçiyoruz.

cd /home/aydan/depo

Bu dizinin içerisinde

sudo dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

komutu ile Packages.gz dosyasını oluşturuyoruz.

Bu aşamadan sonra 3 yöntem var ben 2 tanesini denedim.

1)Bu depoya sadece kendi bilgisayarımızdan erişmek istersek


sudo vim /etc/apt/sources.list

diyerek paket listemizin tutulduğu sources.list dosyasının başına veya herhangi bir yerine

deb file:/home/aydan/depo/ /

satırını ekliyoruz. Daha sonra update ediyoruz

sudo apt-get update

oluşturduğumuz paket depomuz kendi bilgisayarımız için kullanıma hazır bulunmakta.

2) Bu depoya ağda bulunan diğer bilgisayarlar tarafından erişilmesini istersek


sudo apt-get install apache2

ile sistemimiza apache kuruyoruz.


sudo ln -s /home/aydan/depo /var/www/depo


ile servera indirilebilir dosyayı nereden alması gerektiğini söylüyoruz.


sudo vim /etc/apt/sources.list

sources.list dosyamızı açıp herhangi bir yerine


deb http://makinamızın_ip_adresi/depo/ /

ekleyerek ağda bulunan diğer makinaların bizim ip adresimiz aracılığıyla depomuza erişebilmelerini sağlıyoruz.


sudo aptitude update

ile paket depomuzu sisteme ekliyoruz.

Kaynak : how-to-build-local-apt-repositories

Cumartesi, Nisan 09, 2011

7-8 Nisan Atölyesi

        Çomak projesinin daha hızlı ilerlemesi için geçtiğimiz günlerde Tübitak'tan gelen Pardus geliştiricileri ile birlikte 2 günlük bir atölye çalışması yapma imkanı bulduk. Çok verimli geçtiğine inandığım bu iki günde manager ailesinden Açılış Yöneticisinin de depoya girmesini sağlamış oldum.
Pardus ekibinden gelen Gökmen Göksel, Onur Küçük, Halil İbrahim Güngör,Mete Bilgin ve Metin Akdere'nin yanısıra gnome masaüstü konusunda elinden geleni yapan Burak Çalışkan'ın da atölyeye katılması hepimizi sevindirdi.
          İlk gün yaptığımız yamayı satır satır inceleyen Gökmen Göksel bize yaptığımız yanlışları ve eklememiz gereken eksikleri sabırla gösterdikten sonra hatalarımı düzetlmeye başladım. Takıldığım yerlerde tekrar tekrar rahatsız ederek boot managerın tüm masaüstü ortamlarında düzgün bir şekilde çalışmasını sağlamış olduk.

Yaptığım bazı genel hatalar :
 *Açıklama satırı yazarken #Açıklama satırı şeklinde yazmam
Doğrusu # Açıklama satırı şeklinde olmalı
*Sınıf ve metod tanımlamalarından sonra açıklamaları # ile belirtmem
Doğrusu """ Sınıf açıklaması """ şeklinde olmalı
*Kde masaüstünde QFileDialog kullanmam
Doğrusu KGlobal ile ilgili bir hata sebebiyle KFileDialog olmalı
*Yama oluştururken bazı dosyaları gözden kaçırmam
~ ile başlayan geçici dosyalar ve .pyc  uzantılı dosyalar
*Root hakları ile dosyalar üzerinde değişiklik yapmam.
Chown ile kullanıcı yetkilerini değiştirdik.
*Çevirileri po dosyalarını kendim düzenleyerek yapmaya çalışmam.
Doğrusu setup.py de bulunan update_messages metodunu kullanarak bunu otomatik olarak yapmak.

         Hem hatalarımı gördüm hem de işime yarayacak yeni bilgiler edinmiş oldum. Perşembe akşamki yemekte de inanılmaz eğlendik. Hepimiz için hem yorucu hem de eğlenceli geçen 2 günün ardından sınavlara çalışma vakti.
İstanbul'dan gelen bütün misafirlerimize teşekkürler.

Perşembe, Mart 24, 2011

Özgür Yazılım ve Linux Günleri


Bildiğiniz gibi Özgür Yazılım ve Linux günleri 1-2 Nisan tarihlerinde İstanbul Bilgi Üniversitesi'nde. Çomak ekibi olarak biz de  1 Nisan 16:45-17:30 saatleri arasında Salon D' de olacağız. Projenin gidişatı hakkında bilgi almak ve soru sormak isteyen herkesi bekliyoruz.

Çarşamba, Mart 09, 2011

Dolly

Başlığı kadar kısa ve öz bir yazı yazmayı planlıyorum. Dolly  ÇoMak projemizin yeni ürünü. Pardus işletim sistemini Enlightenment masaüstü ortamı ile kullanmak isteyen kullanıcıların yeni gözdesi olacak. Sizde indirip kullanmak isterseniz [1] adresinden deneyebilirsiniz.

Çarşamba, Şubat 23, 2011

Bilgi İşlemde Neler Oluyor?

        Bugün çıkacak sürüm ile ilgili blog yazma görevi bana verildiği için arada kendi bloguma da bir şeyler karalama isteğinden kendimi alıkoyamadım. Bir kaç saat içinde çıkmasını planladığımız sürüm çıkarken bilgi işlemde bir yoğunluk hakim. Herkes kendi işini en iyi şekilde ve bir an evvel bitirmek için uğraşıyor. Bazıları kodlarla bazıları hatalarla ve geri kalanlarda gerekli olan paketlerle boğuşurken benim işim de pek kolay sayılmaz :)
Olaylar zaman içerisinde proje üyeleri tarafından benimsenirken yapılanları dışarıdan bizi izleyenlere anlatmak görüldüğü kadar kolay değil.Sömestr tatilinden 3 haftasını tatile değil çalışmaya ayırarak bu kadar hızlı ilerleyebildik diyebilirim.
Sömestr tatilinde Boot Manager ile ilgilendim.Boot manager'ın Kde bağımlılıklarının giderilmesi Pds kullanılarak saf Qt ile yeniden yazılması ile uğraştım. İconları görünmedi , çeviri sorunlarıyla boğuştuk .Bir takım ilerlemeler ile Boot Manager'ı LXDE ve Enlightenment üzerinde çalıştırdık ve Bonobo sürümüne ekledik.
Sürüm değerlendirilirken belirtmem gereken en önemli konulardan biri bütün bunların bizim için gerçek bir öğrenme süreci olmasıdır. Hiç bilmediğimiz bir sürü konuyu çalıştık ,denedik ve yapmak için uğraştık. Pardus geliştiricilerinden Gökmen Göksel'in yazdığı  Pds ve Paket yöneticisi Managerlar ile uğraşan bütün arkadaşlar için çok yardımcı oldu.
Umarım bugün çıkartacağımız sürümü severek kullanırsınız.Necdet Hocanın önderliğinde Alper , Gökhan , Engin , Kaan , Merve , Özge , Sertaç ve tabiki ben :) bunun için çalışıyoruz.