Автор Тема: Помогите собрать пакет  (Прочитано 6511 раз)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 159
    • Домашняя страница
Re: Помогите собрать пакет
« Ответ #15 : 03.06.2011 17:52:19 »
полный лог в сообщение не влезает - прикладываю ввиде файла.
Прошу прощения, был не прав. Достаточно было конца, с verify-elf. Есть два пути: кондовый (прописать в спек:
%set_verify_elf_method unresolved=relaxedвторой — исправить саму проблему.
Андрей Черепанов (cas@)

Оффлайн mr_tron

  • Участник
  • *
  • Сообщений: 78
Re: Помогите собрать пакет
« Ответ #16 : 03.06.2011 19:25:52 »
Если честно то я не до конца догнал в чём проблема.
Кондовый способ помог. Теперь ломается на более поздней стадии.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 159
    • Домашняя страница
Re: Помогите собрать пакет
« Ответ #17 : 06.06.2011 12:21:28 »
Если честно то я не до конца догнал в чём проблема.
Кондовый способ помог. Теперь ломается на более поздней стадии.
Выложите куда-нибудь на github.com репозиторий и сообщите ссылку, лучше всё сразу смотреть.
« Последнее редактирование: 20.06.2011 12:45:48 от Skull »
Андрей Черепанов (cas@)

Оффлайн mr_tron

  • Участник
  • *
  • Сообщений: 78

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 159
    • Домашняя страница
Re: Помогите собрать пакет
« Ответ #19 : 20.06.2011 13:55:17 »
https://github.com/mr-tron/coova-chilli
Прошу прощения, что не сразу добрался. Скопировал себе, собирал на Sisyphus командой:
gear-hsh --target=x86_64 $TMP  --nproc=1 --no-sisyphus-check=allНа выходе — ошибка:
RPM build errors:
    File not found by glob: /usr/src/tmp/coova-chilli-buildroot/usr/bin/*

Вообще странно, что в спеке прописывается только бинарник и man-страницы, когда в
find ~/tmp/coova-chilli-buildroot/ -type f | wc -l
183
183 файла, включая библиотеки, полагаю, используемые бинарником.

Из логов выяснилось, что бинарники попадают не в /usr/bin, а /usr/sbin:
/bin/sh ../libtool   --mode=install /bin/install -c chilli chilli_response chilli_radconfig chilli_opt chilli_query chilli_proxy '/usr/src/tmp/coova-chilli-buildroot//usr/sbin'
Смотрите мои исправления: http://git.altlinux.org/people/cas/packages/?p=coova-chilli.git;a=commit;h=a823fde689ee1da2a143db53b0c3ee56637f75e2
Андрей Черепанов (cas@)

Оффлайн komper

  • Участник
  • *
  • Сообщений: 28
    • ООО "Альтернатива"
Re: Помогите собрать пакет
« Ответ #20 : 19.10.2012 14:49:49 »
Вот мой спек, обновил недавно версию...
[admin@wa1 SPECS]$ cat coova-chilli.spec
Name: coova-chilli
Version: 1.2.9
Release: alt1

Summary: Coova-Chilli is a Wireless LAN Access Point Controller
License: GPLv2
Group: Productivity/Networking

Url: http://www.coova.org/CoovaChilli/
Source: %name-%version.tar.gz
Patch1: %name-%version.patch
Packager: Shamil Sheykhov <komper@gmail.com>

%description
Coova-Chilli is a fork of the ChilliSpot project - an open source captive
portal or wireless LAN access point controller. It supports web based login
(Universal Access Method, or UAM), standard for public HotSpots, and it
supports Wireless Protected Access (WPA), the standard for secure roamable
networks. Authentication, Authorization and Accounting (AAA) is handled by
your favorite radius server. Read more at http://coova.org/ and
http://www.chillispot.org/.

%prep
%setup -q -n coova-chilli-%version
%patch1 -p0


%build
autoreconf -fi
%configure --enable-statusfile --enable-chilliproxy --enable-miniportal --enable-curl --enable-dhcpopt --enable-l2tpppp  --enable-ieee8023 \
--enable-miniconfig  --enable-chilliredir --enable-layer3 --enable-multiroute --enable-multilan --enable-chillixml \
--enable-chilliscript --enable-acceptlanguage --enable-extadmvsa --enable-pppoe --enable-ssdp --enable-eapol \
--enable-sessionid --enable-apsessionid
%make_build

%install
%makeinstall_std
%set_verify_elf_method unresolved=relaxed

%check
%make_build check

%clean
rm -rf $RPM_BUILD_ROOT
make clean

%post
/sbin/chkconfig --add chilli

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

%files
%defattr(-,root,root)
%_sbindir/*
%_sysconfdir/chilli.conf
%_sysconfdir/init.d/chilli
%dir %_sysconfdir/chilli
%dir %_sysconfdir/chilli/www
%config %_sysconfdir/chilli/gui-config-default.ini
%config(noreplace) %_sysconfdir/chilli/defaults
%_sysconfdir/chilli/www/*
%_sysconfdir/chilli/wwwsh
%_sysconfdir/chilli/functions
%attr(755,root,root)%_sysconfdir/chilli/*.sh
%_libdir/*.so.*
%_libdir/python/CoovaChilliLib.py
%_man1dir/*
%_man5dir/*
%_man8dir/*
%doc AUTHORS LICENSE NEWS README COPYING ChangeLog INSTALL doc/dictionary.chillispot doc/hotspotlogin.cgi doc/attributes

%changelog
* Fri Oct 19 2012 Shamil Sheykhov <komper@gmail.com> %version-alt1
- initial build for ALT Linux Sisyphus
И патч
[admin@wa1 SOURCES]$ cat coova-chilli-1.2.9.patch
*** src/Makefile.am.orig 2012-01-09 13:23:03.000000000 +0000
--- src/Makefile.am 2012-10-19 17:53:09.639979593 +0000
***************
*** 25,31 ****
  iphash.c lookup.c system.h util.c options.c statusfile.c conn.c sig.c \
  garden.c dns.c session.c pkt.c chksum.c net.c safe.c
 
! AM_CFLAGS = -D_GNU_SOURCE -Wall -Werror -fno-builtin -fno-strict-aliasing \
    -O2 -fomit-frame-pointer -funroll-loops -pipe -I$(top_builddir)/bstring \
   -DDEFCHILLICONF='"$(sysconfdir)/chilli.conf"'\
   -DDEFPIDFILE='"$(localstatedir)/run/chilli.pid"'\
--- 25,31 ----
  iphash.c lookup.c system.h util.c options.c statusfile.c conn.c sig.c \
  garden.c dns.c session.c pkt.c chksum.c net.c safe.c
 
! AM_CFLAGS = -D_GNU_SOURCE -Wall -fno-builtin -fno-strict-aliasing \
    -O2 -fomit-frame-pointer -funroll-loops -pipe -I$(top_builddir)/bstring \
   -DDEFCHILLICONF='"$(sysconfdir)/chilli.conf"'\
   -DDEFPIDFILE='"$(localstatedir)/run/chilli.pid"'\
*** src/Makefile.in.orig 2012-01-09 13:34:37.000000000 +0000
--- src/Makefile.in 2012-10-19 17:52:40.103981069 +0000
***************
*** 478,484 ****
  $(am__append_18) $(am__append_19) $(am__append_20) \
  $(am__append_22) $(am__append_25) $(am__append_27) \
  $(am__append_37) $(am__append_38)
! AM_CFLAGS = -D_GNU_SOURCE -Wall -Werror -fno-builtin \
  -fno-strict-aliasing -O2 -fomit-frame-pointer -funroll-loops \
  -pipe -I$(top_builddir)/bstring \
  -DDEFCHILLICONF='"$(sysconfdir)/chilli.conf"' \
--- 478,484 ----
  $(am__append_18) $(am__append_19) $(am__append_20) \
  $(am__append_22) $(am__append_25) $(am__append_27) \
  $(am__append_37) $(am__append_38)
! AM_CFLAGS = -D_GNU_SOURCE -Wall -fno-builtin \
  -fno-strict-aliasing -O2 -fomit-frame-pointer -funroll-loops \
  -pipe -I$(top_builddir)/bstring \
  -DDEFCHILLICONF='"$(sysconfdir)/chilli.conf"' \
*** conf/chilli.in.orig 2010-07-25 06:07:40.000000000 +0000
--- conf/chilli.in 2012-10-19 17:55:45.919971817 +0000
***************
*** 77,83 ****
  if [ "$(which start-stop-daemon)" = "" ]; then
      @SBINDIR@/chilli -c $CONFIG --pidfile=$pidfile &
  else
!             start-stop-daemon -S --pidfile=$pidfile --user=chilli \
  --exec @SBINDIR@/chilli -- -c $CONFIG &
  fi
          echo
--- 77,83 ----
  if [ "$(which start-stop-daemon)" = "" ]; then
      @SBINDIR@/chilli -c $CONFIG --pidfile=$pidfile &
  else
!             start-stop-daemon -S --pidfile=$pidfile --user=root \
  --exec @SBINDIR@/chilli -- -c $CONFIG &
  fi
          echo
***************
*** 105,111 ****
  crontab -l 2>&- | grep -v $0 | crontab -
 
  if [ "$(which start-stop-daemon)" != "" ]; then
!             start-stop-daemon -K --pidfile=$pidfile --user=chilli \
  @SBINDIR@/chilli
  fi
 
--- 105,111 ----
  crontab -l 2>&- | grep -v $0 | crontab -
 
  if [ "$(which start-stop-daemon)" != "" ]; then
!             start-stop-daemon -K --pidfile=$pidfile --user=root \
  @SBINDIR@/chilli
  fi
 


Оффлайн GoodSoul

  • Участник
  • *
  • Сообщений: 58
Re: Помогите собрать пакет
« Ответ #21 : 06.08.2014 00:29:10 »
Здравствуйте! Не могли бы поделиться уже готовым собранным пакетом? Заранее огромнейшее спасибо! Либо собрать для меня из исходников, у меня не получается ( http://coova.org/CoovaChilli

У меня Altlinux, 7 платформа, x86_64.
« Последнее редактирование: 06.08.2014 22:33:13 от GoodSoul »

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Re: Помогите собрать пакет
« Ответ #22 : 07.08.2014 15:41:17 »
Где затык происходит ?

Оффлайн ksa

  • Модератор глобальный
  • *****
  • Сообщений: 9 049
Re: Помогите собрать пакет
« Ответ #23 : 09.08.2014 08:23:05 »
Спек для версии 1.3.0 (сам код кривой, файлы для разработки и библиотеки по-нормальному упаковать не получается, т.к. добавляется ещё зависимость на пакет для разработки к основному пакету), в пакет не упакованы заголовочные файлы, отсутствуют какие-либо изменения в init скриптах (которые, возможно, требуют адаптации под альт).

%set_verify_elf_method unresolved=relaxed
%define lib chilli
Name: coova-%lib
Version: 1.3.0
Release: alt1

Summary: Coova-Chilli is a Wireless LAN Access Point Controller
License: GPLv2
Group: Productivity/Networking

Url: http://www.coova.org/CoovaChilli/
Source: %name-%version.tar.gz

#Requires: lib%lib = %version-%release

# Automatically added by buildreq on Sat Aug 09 2014
# optimized out: gnu-config python3-base
BuildRequires: mt-st python3

%description
Coova-Chilli is a fork of the ChilliSpot project - an open source captive
portal or wireless LAN access point controller. It supports web based login
(Universal Access Method, or UAM), standard for public HotSpots, and it
supports Wireless Protected Access (WPA), the standard for secure roamable
networks. Authentication, Authorization and Accounting (AAA) is handled by
your favorite radius server. Read more at http://coova.org/ and
http://www.chillispot.org/.

#%package -n lib%lib
#Summary: Main %name library
#Group: Libraries

#%description -n lib%lib
#This package contains %name library.

#%package -n lib%lib-devel
#Summary: Development files for %name
#Group: Development/C
#Requires: lib%lib = %version-%release

#%description -n lib%lib-devel
#This package contains files to develop with lib%name

%prep
%setup -n %name-%version

%build
%configure --enable-statusfile --enable-chilliproxy --enable-miniportal --enable-curl --enable-dhcpopt --enable-l2tpppp  --enable-ieee8023 \
    --enable-miniconfig  --enable-chilliredir --enable-layer3 --enable-multiroute --enable-multilan --enable-chillixml \
    --enable-chilliscript --enable-acceptlanguage --enable-extadmvsa --enable-pppoe --enable-ssdp --enable-eapol \
    --enable-sessionid --enable-apsessionid
%make_build

%install
%makeinstall_std

%post
/sbin/chkconfig --add chilli

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

%files
%exclude %_libdir/*.a
%defattr(-,root,root)
%_sbindir/*
%_sysconfdir/chilli.conf
%_sysconfdir/init.d/chilli
%dir %_sysconfdir/chilli
%dir %_sysconfdir/chilli/www
%config %_sysconfdir/chilli/gui-config-default.ini
%config(noreplace) %_sysconfdir/chilli/defaults
%_sysconfdir/chilli/www/*
%_sysconfdir/chilli/wwwsh
%_sysconfdir/chilli/functions
%_libdir/*
%attr(755,root,root)%_sysconfdir/chilli/*.sh
%_libdir/python/CoovaChilliLib.py
%_man1dir/*
%_man5dir/*
%_man8dir/*
%doc AUTHORS LICENSE NEWS README COPYING ChangeLog INSTALL doc/dictionary.chillispot doc/hotspotlogin.cgi doc/attributes
%exclude %_includedir/%lib
%exclude %_libdir/%name
%exclude %_libdir/debug

%changelog

Другими словами, можно попробовать поставить данный пакет без проверки зависимостей и либо написать самому init скрипт или запускать по типу /usr/sbin/имя_бинарника параметры &Работоспособность пакета при всём при этом не гарантируется (проверять не на чем). SRPM пакет во вложении.