Сборка SQLite из исходников под ASPLinux 9.2
Исходники были получены с официального сайта SQLite -
http://www.sqlite.org/
Для сборки в качестве основы был взят spec-файл, найденный у
известного сборщика RPM пакетов для Fedora Core - Dag Wieers
(http://dag.wieers.com/packages/).
Начнем (работаем относительно /usr/src/asplinux/).
Архив с исходными кодами (sqlite-3.0.8.tar.gz) кладем в SOURCES. В
SPECS помещаем spec-файл (sqlite.spec).
Немного подправим spec-файл:
Первое это поле "Version". Меняем "Version: 2.8.15" на "Version: 3.0.8".
Второе - изменим "Packager" и "Vendor". Были
Packager: Dag Wieers <dag@w*****.com>
Vendor: Dag Apt Repository, http://dag.wieers.com/apt/
Станут
Packager: Alexandr Kolotov <akmyo***@m*****.ru>
Vendor: Local Repository
Попробуем собрать:
# rpmbuild -bb --target athlon --clean sqlite.spec
Платформы для сборки: athlon
Сборка для платформы athlon
ошибка: Неудовлетворенные зависимости сборки:
readline-devel нужен для sqlite-3.0.8-1
tcl-devel нужен для sqlite-3.0.8-1
Ну что ж, установим...
# yum install readline-devel tcl-devel
Все хорошо. Снова
# rpmbuild -bb --target athlon --clean sqlite.spec
Собралось. Значит, можно устанавливать.
# cd ../RPMS/athlon
# rpm -ihv sqlite*
Для проверки работоспособности напишем два простеньких
скрипта на shell (за основу взяты скрипты с
http://www.sqlite.ru/). Первый скрипт создает базу и одну таблицу:
begin create_db.sh create_db.sh
#!/bin/sh
cat << EOF | sqlite3 test.db
BEGIN TRANSACTION;
-- создаем базу данных
create table test(name TEXT, bday varchar(10));
-- заполняем
INSERT INTO test VALUES('Vasiliy Leushin','1976-09-01');
INSERT INTO test VALUES('Andrey Eslukov','1981-07-20');
INSERT INTO test VALUES('Max Vasilyev','1979-01-01');
INSERT INTO test VALUES('Alexandr Kolotov','1980-11-24');
-- заканчиваем транзакцию
COMMIT;
EOF
end create_db.sh второй - осуществляет выборку:
begin select_db.sh select_db.sh
#!/bin/sh
cat << EOF | sqlite3 test.db
-- выводим два столбца из таблицы test c сортировкой по столбцу bday
select bday, name from test order by bday;
EOF
end select_db.sh Запускаем и смотрим на результаты:
$ ./create_db.sh
$ ./select_db.sh
1976-09-01|Vasiliy Leushin
1979-01-01|Max Vasilyev
1980-11-24|Alexandr Kolotov
1981-07-20|Andrey Eslukov