An Emacs mode for Common Lisp development.
A collection of binary tools.
A generic and open source processor emulator which achieves a good emulation speed by using dynamic translation.
All virtual images belong to ~/machines directory on
the development computers. When testing something, copy the base image
first to some temporary image, and then use the temporary image.
Filename format: os-osversion-osvariant-architecture-updatepolicy(-variant).img
os - operating system name (fedora, rhel, opensuse, debian, ubuntu)osversion - operating system version; its format
depends on the operating system (fedora - 12, 13, 14, rawhide; rhel -
5u5, 5u6, 6, 6u1, 6beta2; ubuntu - 10.10, 11.04; debian - 4, 5, 6)osvariant - operating system variant/spin; depends on
the operating system and its version (fedora - desktop, minimal,
kde; rhel 4 - as, es, ws, desktop; rhel 5 - ap, server, desktop; rhel 6 - ws, client; as = advanced server, ap = advanced platform, es = entry-level server, ws = workstation; ubuntu - desktop, server)architecture - i386, x86_64updatepolicy - updated = all updates are enabled, and system is/should be updated; clean = no updates were applied, the operating system is freshly installedvariant - used only for copies of base image without variant, to describe the difference; can be anything: tmp, ypserv, ypserv2, test...Images with clean installations, such
as fedora-11-desktop-i386-clean.img, should not be
run. Images with updates, such
as fedora-11-desktop-i386-updated.img, should be run only
to perform updates. Tests, package installations, debugging should be
performed on image variants, copied from any base (clean, updated)
image.
Operating system on every image must contain user 'karel' with password 'fedpkg22'. Root password must be 'fedpkg22'. On older machines, password 'krtek' or 'krtekkrtek' was used, and it should be changed everywhere to 'fedpkg22'.
Operating systems should be installed with their default settings, and with default locale. If a registration process is required to receive updates, it should be finished. Network connection must be configured and working.
Create a new image:
$ qemu-img create -f qcow2 fedora-rawhide.img 8G
qcow2 is the most recommended, native image format for QEMU.
Install from network (gPXE):
$ wget http://serverbeach1.fedoraproject.org/pub/alt/bfo/bfo.dsk $ qemu-kvm -m 1024 -usb -usbdevice tablet -fda bfo.dsk -hda fedora-rawhide.img
Install from downloaded ISO image:
$ qemu-kvm -m 1024 -boot d -usb -usbdevice tablet -cdrom ~/Fedora-12-i386-netinst.iso -hda fedora-12.img
Running a virtual machine image:
$ qemu-kvm -m 1024 -usb -usbdevice tablet -hda fedora-12.img
Use guestfish to access the machine image. The machine must not be running:
$ guestfish fedora-12.img
A fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.
A distributed revision control system.
A version control system.
A distributed source control management system.
A scanner generator. Scanners are programs which can recognize lexical patterns in text. Flex takes pairs of regular expressions and C code as input and generates a C source file as output.
A general purpose parser generator that converts a grammar description for an LALR(1) context-free grammar into a C program to parse that grammar.
A tool for automatically generating Makefile.ins from files called Makefile.am. Each Makefile.am is basically a series of make variable definitions, with rules being thrown in occasionally. The generated Makefile.ins are compliant with the GNU Makefile standards.
A collection of M4 macros that produce shell scripts to automatically configure software source code packages.
A generic library support script. It hides the complexity of using shared libraries behind a consistent, portable interface.
Libtool-managed binaries hidden behind a shell script in a source tree can be debugged:
$ libtool --mode=execute gdb --args ./binshellscript args...
A debugger, allows to debug programs written in C, C++, Java, and other languages, by executing them in a controlled fashion and printing their data.
Here is
my ~/.gdbinit. Ideally, qt-devel would
contain a GDB pretty-printer for QStrings.
# ~/.gdbinit
# http://www.frankmeffert.de/2010/11/print-qstrings-in-gdb/
define qprint4
printf "(QString)0x%x (length=%i): \"",&$arg0,$arg0.d->size
set $i=0
while $i < $arg0.d->size
set $c=$arg0.d->data[$i++]
if $c < 32 || $c > 127
printf "\\u0x%04x", $c
else
printf "%c", (char)$c
end
end
printf "\"\n"
end
A tool for memory-management problem debugging.
A system call tracer, i.e. a debugging tool which prints out a trace of all the system calls made by a another process/program.
This can be used to investigate what is going on in a running program:
$ strace -p pid
If strings are too short, the truncation limit can be changed by
the -s option.
A debugging program which runs a specified command until the command exits. While the command is executing, ltrace intercepts and records both the dynamic library calls called by the executed process and the signals received by the executed process. Ltrace can also intercept and print system calls executed by the process.
A compiler collection containing front-ends for C, C++, Objective-C, Fortran, Java, Ada, Go, and standard libraries for these languages.
How to modify the behavior of a program, without having the source code? How to do it without altering the binary?
How to write polymorphic class in C?
Standard libraries of the system, including the standard C library.
A programming suite for Haskell, a purely functional programming language. It includes an optimising compiler, space and time profiling facilities, a large collection of libraries, and support for various language extensions, including concurrency, exceptions, and a foreign language interface.
A fast HTML combinator library for the Haskell programming language. It embeds HTML templates in Haskell code for optimal efficiency and composability.
A modular way to build forms based on applicative functors.
A Haskell library for converting LaTeX math to MathML.
An HTTP server and a rich set of functions for routing requests, handling query parameters, generating responses, working with cookies, serving files.
Standard interpreter.
2010-12-14: /usr/local/lib/python2.7/site-packages/
should be included in sys.path. This is achieved by
editing the top of /usr/lib/python2.7/site.py. See
rhbz#662034.
An interpreted scripting language.
Standard interpreter.
A framework for building web applications.
A ruby build program with capabilities similar to make.
Docbook example
MAIN_FILE = "source/index.xml"
Rake.application.options.trace = true
desc "Validates the source files and generates PDF and single page/multipage XHTML books."
task :default => [:validate, :single_page_html, :multi_page_html, :pdf]
desc "Removes all output files."
task :clean do
FileUtils.remove_dir 'output', :force => true
end
desc "Creates PDF book from the source."
task :pdf do
output_dir = 'output/pdf'
FileUtils.mkdir_p output_dir
fo_file_path = "../../#{output_dir}/book.fo"
Dir.chdir "tools/xsltproc" do
style = "../docbook-xsl/fo/docbook.xsl"
input = "../../#{MAIN_FILE}"
params = '--xinclude'
result = `xsltproc #{params} #{style} #{input} > #{fo_file_path}`
puts result unless '' == result
end
Dir.chdir "tools/fop-0.94" do
params = '-c conf/myfop.xconf'
output = "../../#{output_dir}/book.pdf"
result = `fop.bat #{params} #{fo_file_path} #{output}`
puts result unless '' == result
end
end
desc "Creates multipage XHTML book from the source."
task :multi_page_html do
output_dir = 'output/html_multi_page'
FileUtils.mkdir_p output_dir
Dir.chdir "tools/xsltproc" do
style = "../docbook-xsl/xhtml/chunk.xsl"
input = "../../#{MAIN_FILE}"
params = "--xinclude --stringparam base.dir ../../#{output_dir}/"
result = `xsltproc #{params} #{style} #{input}`
puts result unless '' == result
end
end
desc "Creates single page HTML book from the source."
task :single_page_html do
output_dir = 'output/html_single_page'
FileUtils.mkdir_p output_dir
Dir.chdir "tools/xsltproc" do
style = "../docbook-xsl/xhtml/docbook.xsl"
input = "../../#{MAIN_FILE}"
output = "../../#{output_dir}/index.html"
params = '--xinclude'
result = `xsltproc #{params} #{style} #{input} > #{output}`
puts result unless '' == result
end
end
desc "Validates the source files."
task :validate do
Dir.chdir "tools/xmllint" do
result = `xmllint --xinclude --noout --postvalid ../../#{MAIN_FILE}`
if '' == result
puts "File #{MAIN_FILE} is valid."
else
puts result
end
end
end
A library implementation of the Scheme programming language, written in C.
A high performance Common Lisp compiler.
A Common Lisp compiler, interpreter, and debugger.
A light-weight programming language designed for extending applications.
A high-level programming language with roots in C, sed, awk and shell scripting. Perl is good at handling processes and files, and is especially good at handling text.
A compiler infrastructure designed for compile-time, link-time, runtime, and idle-time optimization of programs from arbitrary programming languages. The compiler infrastructure includes mirror sets of programming tools as well as libraries with equivalent functionality.
Klee revision 132787 needs to be compiled with llvm 2.7.
With llvm 2.8: === make check Summary === # of expected passes 76 # of unexpected failures 11 # of expected failures 2
With llvm 2.9: === make check Summary === # of expected passes 66 # of unexpected failures 21 # of expected failures 2
A suite of tools dedicated to the analysis of the source code of software written in C.