Differences between revisions 23 and 24
Revision 23 as of 2012-03-26 21:44:24
Size: 4684
Editor: ?Alexander Pashaliyski
Comment:
Revision 24 as of 2012-03-26 21:59:25
Size: 4855
Editor: ?Alexander Pashaliyski
Comment:
Deletions are marked like this. Additions are marked like this.
Line 16: Line 16:
 * '''Deliverables''': <TODO>  * '''Deliverables''':
    * Support clang for building services.
    * An easy way to switch between the gcc/g++ and clang compilers.
    * Most of the Debian packages will be compiled with clang.
  • Name Alexander Pashaliyski

  • Contact/Email: al.pashaliyski@gmail.com

  • Background: I am 24 and currently studying my Master's Degree in "Sofia University", Sofia, Bulgaria (GMT+2). Specialty: Protection of Information in Computer Systems and Networks. I have Bachelor's Degree in "Informatics" in "Plovdiv University", Plovdiv , Bulgaria. I have a lot of experience with Debian - I have been working 3 years for a big German hosting company (EUROWEB), when I was in Plovdiv, as System Administrator and our systems were based on Debian. I also got some experience with Debian's packaging system. In the past, I have made some Debian packages for ?FreeSwitch and some other applications.

  • In the years I'm programming I got experience in different areas. I learned something new from every project I made in the past.
  • About my expirience with C/C++:
  • Recently I have made a backup system for backuping and restoring block devices on Virtual Machines. The backups are incremental. I have used many different technologies and some libraries like librsync. I have a lot of experience making client-server applications, using different technologies - for file descriptor selection (like epoll, select), with posix threads and fork. I have also made modifications to some open source applications to fit my needs, like making privilege separation for unfsd, making advanced file deletion rules for pure-ftpd and making filtering proxy for postfix, that records all the incoming and outgoing emails to mysql database. In many of my projects I have been using different compilers, mainly gcc (I'm using clang for better error messages). I also have some experience with the Intel compiler - mainly for compiling mysql, for which it's recommended. As a debugger, I use gdb. I have experience creating Makefiles with automake and autoconf.
  • About my experience as System Administrator:
  • By working as a system administrator in the past, I got a lot of experience with most of the services that hosting companies provide - mainly with separation of the resources between different users and services. As scripting languages I use bash, awk, python and perl. I have made many chrooted application environments for security reasons.
  • Project title Clang support for build services

  • Project details: This project is about extension of the Debian infrastructure. The key idea is to have an alternative way to build packages and easily switch between clang and gcc/g++. Clang is faster than gcc, uses less memory, and produces faster code. It is getting better with time. It it available under the BSD license. It is well documented. It can help programmers find and analyze easily their errors, because clang has much more detailed error and warning messages and it allows better diagnostics. It also provides a good alternative for programmers using gcc in the coding and compiling processes. It enforces better code quality.

  • http://wiki.debian.org/SummerOfCode2012/Projects#clang_support_for_build_services

  • Synopsis: <TODO>

  • Benefits to Debian: The most obvious benefit of using Clang is performance. Debian will be most liked environment for more developers. Clang will improve the quiality of Debian's packages.

  • Deliverables:

    • Support clang for building services.
    • An easy way to switch between the gcc/g++ and clang compilers.
    • Most of the Debian packages will be compiled with clang.
  • Project schedule:

  • April 24 - May 20: Pre-development phase: Create and configure developer environments, getting to know with the debian repositories, making clear commiting process and some details of the project with my mentor
  • May - August: The main coding will be separated on two phases - It's going to take about 2 month.
  • The first phase It going to include modify build services of Debian, creating automation scripts for compiling and building with all Debian packages clang intead of gcc.
  • The second phase is going to be Create a easy way to switch of compiler between gcc and clang.
  • August 13 - August 24 I'm going to need for testing purposes, to make tests for the building services and to fix some bugs in the development process.
  • NOTE: It is a pre-schedule and I will update it on the fly. Anyway I will send weekly reports to mentors what I have done.
  • Exams and other commitments: I have no exams.

  • Other summer plans: During the Summer I will have no job nor vacations and it would be great if I could work for Debian and join the community.

  • Why Debian?: I am using Debian since Woody. I am using it on most of the servers and workstations I administrate.

  • I don't plan to apply to any other project.