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