Перейти до

Stargazer Rpm


Рекомендованные сообщения

Занимался недавно вот таким извращением, как написанием файла спецификации для создания RPM пакета славного биллинга.

Выкладываю в народ, может пригодится кому-либо.

 

Сборка производилась на дистрибутиве CentOS 5.2 i386

 

%define stg_shortname stg
%define stg_release 2.405.9.8

Summary: The StarGazer GPL Billing
Name: stargazer
Version: 2.405.9.8
Release: 20080518
License: GPL
Group: Monitoring
URL: http://www.stargazer.dp.ua/
Vendor: stg-34 <stg34@stargazer.dp.ua>

#Sources and patches
Source: stg-2.405.9.8.tar.bz2
Source1: stargazer.init
Source2: first
Source3: last
#
#Patch1: sp1-1-2.4-2007.01.20-13.47.20.diff

Requires: expat
Requires(post): /sbin/chkconfig, /sbin/service
Requires(preun): /sbin/chkconfig, /sbin/service
BuildRequires: expat-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

%description

Stargazer is free homenetwork billing, was written by stg-34.
For more information visit http://www.stargazer.dp.ua

%prep
# Extracting Arch
%setup -q -n %{stg_shortname}-%{stg_release}
# copy some RHEL specific scripts
pwd
mkdir -p packaging/RHEL
cp %{SOURCE1} packaging/RHEL
cp %{SOURCE2} packaging/RHEL
cp %{SOURCE3} packaging/RHEL
# Patches
#%patch1 -p1 -b .sp1bak

%build
pushd projects/stargazer
# Building
sh build
popd

%install
echo $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT

mkdir -p $RPM_BUILD_ROOT%{_sbindir}
mkdir -p $RPM_BUILD_ROOT%{_initrddir}
mkdir -p $RPM_BUILD_ROOT%{_libdir}/stg
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/stargazer
mkdir -p $RPM_BUILD_ROOT/var/stargazer/admins
mkdir -p $RPM_BUILD_ROOT/var/stargazer/tariffs
mkdir -p $RPM_BUILD_ROOT/var/stargazer/users/test
mkdir -p $RPM_BUILD_ROOT/var/stargazer/corps
mkdir -p $RPM_BUILD_ROOT/var/stargazer/services

# Installing STG Binary
install -m 750 projects/stargazer/stargazer $RPM_BUILD_ROOT%{_sbindir}/stargazer
# Installimg STG Modules
for mod in projects/stargazer/plugins/*/*/mod_*.so
do
install -m 750 $mod $RPM_BUILD_ROOT%{_libdir}/stg/`basename $mod`
done
# Installing STG libs
for lib in stglibs/*/*.so
do
install -m 750 $lib $RPM_BUILD_ROOT%{_libdir}/stg/`basename $lib`
done
# Install Configs
install -m 640 projects/stargazer/inst/linux/etc/stargazer/stargazer.conf $RPM_BUILD_ROOT%{_sysconfdir}/stargazer/stargazer.conf
install -m 640 projects/stargazer/inst/linux/etc/stargazer/rules $RPM_BUILD_ROOT%{_sysconfdir}/stargazer/rules
install -m 750 projects/stargazer/inst/linux/etc/stargazer/On* $RPM_BUILD_ROOT%{_sysconfdir}/stargazer/
# Installing File DB
install -m 640 projects/stargazer/inst/var/stargazer/admins/admin.adm $RPM_BUILD_ROOT/var/stargazer/admins/admin.adm
install -m 640 projects/stargazer/inst/var/stargazer/tariffs/tariff.tf $RPM_BUILD_ROOT/var/stargazer/tariffs/tariff.tf
install -m 640 projects/stargazer/inst/var/stargazer/users/test/conf $RPM_BUILD_ROOT/var/stargazer/users/test/conf
install -m 640 projects/stargazer/inst/var/stargazer/users/test/stat $RPM_BUILD_ROOT/var/stargazer/users/test/stat
# Install other stuff
install -m 755 packaging/RHEL/stargazer.init $RPM_BUILD_ROOT%{_initrddir}/stargazer
install -m 755 packaging/RHEL/first $RPM_BUILD_ROOT%{_sysconfdir}/stargazer/first
install -m 755 packaging/RHEL/last $RPM_BUILD_ROOT%{_sysconfdir}/stargazer/last

%clean
# Cleaning garbage
rm -rf $RPM_BUILD_ROOT

#%pre

%post
/sbin/chkconfig --add stargazer

%preun
if [ $1 = 0 ]; then
/sbin/service stargazer stop > /dev/null 2>&1 || :
/sbin/chkconfig --del stargazer
fi
exit 0

#%postun

%files
%defattr(-,root,root)
# Configs
%config(noreplace) %{_sysconfdir}/stargazer/stargazer.conf
%config(noreplace) %{_sysconfdir}/stargazer/rules
%config(noreplace) %{_sysconfdir}/stargazer/first
%config(noreplace) %{_sysconfdir}/stargazer/last
%config(noreplace) %{_sysconfdir}/stargazer/On*
# Binaries
%{_sbindir}/stargazer
# Modules
%{_libdir}/stg/*.so
# initrd's
%attr(755,root,root) %{_initrddir}/stargazer
# FileDB
%config(noreplace) /var/stargazer/admins/*.adm
%config(noreplace) /var/stargazer/tariffs/*.tf
%config(noreplace) /var/stargazer/users/*/conf
%config(noreplace) /var/stargazer/users/*/stat
/var/stargazer/corps
/var/stargazer/services

%changelog
* Sun Oct 26 2008 Andrey Zentavr <zentavr@gmail.com>
- New Build

* Thu Oct 16 2008 Andrey Zentavr <zentavr@gmail.com>
- Created this RPM spec

 

Сам SRC.RPM доступен здесь (UA-IX)

Ссылка на сообщение
Поделиться на других сайтах
А готовую rpm'ку не можешь выложить? Мы бы на сайт поместили...

А в чём проблема скомпилить? =)

stargazer-2.405.9.8-20080518.i386.rpm

Сборка производилась без единого патча, с архива http://www.stg.dp.ua/download/server/2.405...405.9.8.src.tgz который перепакован мною в архив tar.bz2

Выкладывай, я не против

Дистрибутив: CentOS 5.2

Процессор: AMD Athlon XP 2600+

Компилятор: gcc версия 4.1.2 20071124 (Red Hat 4.1.2-42)

GNU Make 3.81

 

С патчами madf'a, выложенными на http://infostore.org/info/6023538 можно найти сдесь:

SRC.RPM: тыц

i386 RPM: тыц

Ссылка на сообщение
Поделиться на других сайтах
  • 3 months later...

Поскольку в последних версиях стг он несет в себе еще и авторизатор и конфигуратор, которые используют общие бибилотеки, целесообразно разделять пакет на подпакеты: общие библиотеки, сам старгайзер, авторизатор, конфигуратор, и возможно отдельно еще и модули для работы с MySQL и FireBird, так как не всем они нужны. Примерно так (без последнего замечания) сделано в пакете для ALT Linux:

http://www.sisyphus.ru/srpm/Sisyphus/stargazer/get

Там же есть и спек, который можно взять за основу.

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...

Извечная штука. Когда делали релиз - забыли увеличить номер версии. По этому большинство архивов 2.405 показывают версию 2.404. Не стоит волноваться по этому поводу.

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...