Andrey Zentavr 0 Posted 2008-10-26 22:49:23 Share Posted 2008-10-26 22:49:23 Занимался недавно вот таким извращением, как написанием файла спецификации для создания 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) Link to post Share on other sites
madf 279 Posted 2008-10-28 08:58:23 Share Posted 2008-10-28 08:58:23 А готовую rpm'ку не можешь выложить? Мы бы на сайт поместили... Link to post Share on other sites
Andrey Zentavr 0 Posted 2008-10-28 22:19:09 Author Share Posted 2008-10-28 22:19:09 А готовую 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: тыц Link to post Share on other sites
madf 279 Posted 2008-10-29 07:20:41 Share Posted 2008-10-29 07:20:41 Спасибо, разместим! Проблема не в компиляции - проблема в отсутствии CentOS Link to post Share on other sites
Drool 0 Posted 2009-02-12 19:08:50 Share Posted 2009-02-12 19:08:50 Поскольку в последних версиях стг он несет в себе еще и авторизатор и конфигуратор, которые используют общие бибилотеки, целесообразно разделять пакет на подпакеты: общие библиотеки, сам старгайзер, авторизатор, конфигуратор, и возможно отдельно еще и модули для работы с MySQL и FireBird, так как не всем они нужны. Примерно так (без последнего замечания) сделано в пакете для ALT Linux: http://www.sisyphus.ru/srpm/Sisyphus/stargazer/get Там же есть и спек, который можно взять за основу. Link to post Share on other sites
yKpon 8 Posted 2009-03-29 09:31:20 Share Posted 2009-03-29 09:31:20 странно, почему то в http://stg.dp.ua/download/server/2.405.9.8...centos.i386.rpm версия сервера 2.4.04 Link to post Share on other sites
madf 279 Posted 2009-03-30 09:02:41 Share Posted 2009-03-30 09:02:41 Извечная штука. Когда делали релиз - забыли увеличить номер версии. По этому большинство архивов 2.405 показывают версию 2.404. Не стоит волноваться по этому поводу. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now