Andrey Zentavr Опубликовано: 26 жовтня, 2008 Опубликовано: 26 жовтня, 2008 Занимался недавно вот таким извращением, как написанием файла спецификации для создания 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)
madf Опубліковано: 28 жовтня, 2008 Опубліковано: 28 жовтня, 2008 А готовую rpm'ку не можешь выложить? Мы бы на сайт поместили...
Andrey Zentavr Опубліковано: 28 жовтня, 2008 Автор Опубліковано: 28 жовтня, 2008 А готовую 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: тыц
madf Опубліковано: 29 жовтня, 2008 Опубліковано: 29 жовтня, 2008 Спасибо, разместим! Проблема не в компиляции - проблема в отсутствии CentOS
Drool Опубліковано: 12 лютого, 2009 Опубліковано: 12 лютого, 2009 Поскольку в последних версиях стг он несет в себе еще и авторизатор и конфигуратор, которые используют общие бибилотеки, целесообразно разделять пакет на подпакеты: общие библиотеки, сам старгайзер, авторизатор, конфигуратор, и возможно отдельно еще и модули для работы с MySQL и FireBird, так как не всем они нужны. Примерно так (без последнего замечания) сделано в пакете для ALT Linux: http://www.sisyphus.ru/srpm/Sisyphus/stargazer/get Там же есть и спек, который можно взять за основу.
yKpon Опубліковано: 29 березня, 2009 Опубліковано: 29 березня, 2009 странно, почему то в http://stg.dp.ua/download/server/2.405.9.8...centos.i386.rpm версия сервера 2.4.04
madf Опубліковано: 30 березня, 2009 Опубліковано: 30 березня, 2009 Извечная штука. Когда делали релиз - забыли увеличить номер версии. По этому большинство архивов 2.405 показывают версию 2.404. Не стоит волноваться по этому поводу.
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас