[sisyphus] netatalk+sisyphus
Michael Shigorin
=?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Сб Мар 24 23:08:12 MSK 2007
On Fri, Mar 23, 2007 at 07:52:11PM +0300, Sergey Kurakin wrote:
> > > У меня netatalk с этим патчем работает под Сизифом почти
> > > уже два года без нареканий.
> > Сергей, и Вы молчали? :-)
> Ну да. Ведь кроме меня пакет никому не был нужен.
Как видите, это не так. :-)
> Может, с вашей помощью что-нибудь получится.
Пока обломался, причём знал же заранее -- надо ещё инитскрипт
переписать.
> > переберу и закину в incoming, но предлагаю Вам с Владимиром
> > скооперироваться да поддерживать пакет. (майнтейнер -- это не
> > так страшно, если не увлекаться и не хвататься за что попало
> > со всеми вытекающими)
> Да, Михаил, я не раз об этом думал, читая ваши призывы.
> Отмазки у меня стандартные, мы уже видели их в этом списке:
> недостаток времени, неуверенность в собственных силах,
> ответственность за пользователей пакета. Но кажется, на этот
> раз я что-нибудь попробую...
Мне тоже было страшновато, да и сейчас бывает неудобно.
Помогает понимание того, что если что-то нужно именно мне, то:
- лучше сам и займусь обеспечением;
- лучше хотя бы анонсирую, а лучше обеспечу наличие
в дистрибутиве:
- больше шансов, что будет под рукой при надобности;
- больше шансов, что кому ещё пригодится (глядишь, помогут).
На самом деле будет гораздо лучше, если у нас получится практика
ленивого майнтейнерства, когда человек может спокойно заниматься
своими одним-двумя-пятью пакетами, которые всё равно нужны для
работы или для себя -- чем если даже у нас появится ещё один
Геракл вроде Виталика Липатова, который оптимизирует процессы
и справляется за батальон.
> > Чуть поправил спек (приложен), проверил собираемость и
> > заливаю.
> Спасибо. Спека, правда, не вижу. Но ничего, посмотрю,
> когда/если пакет доберется до Сизифа.
Это я так приложил... а пакет сегодня не доберётся, инитскрипт
же не прошёл sisyphuc_check (использует "старые" редхатовские
функции вместо "новых" дебианообразных, причём знал-знал да
забыл поправить).
Недопереписанный initscript и немного подпиленный specfile
_прилагаю_ (см. тж. /etc/init.d/template на M24+). Постараюсь
добить и проверить, но если успеете быстрее -- тоже хорошо.
> > > Патч для сборки с libdb4.4 я сделал в свое время "методом
> > > тыка". Если будет возможность, посмотрите пожалуйста, не
> > > таит ли он в себе какой-нибудь опасности.
> > Боюсь, я ещё менее компетентен -- "работает, и ладно".
> Насколько я понял, в libdb4.4 (или 4.3 -- точно не помню) в
> методе __db->stat() изменилось количество параметров.
Ну да.
> Появился еще один, для флага. Я интуитивно (то есть наобум ;)
> поставил туда флаг DB_STAT_ALL, который нашел в db.h
> неподалеку.
>
> - ret = db->stat(db, &sp, 0);
> + ret = db->stat(db, &sp, 0, DB_STAT_ALL);
>
> Интересно, я угадал?
Это лучше ldv@ спросить.
> Проверьте, пожалуйста, как там обстоят дела с авторизацией.
Если руки дойдут -- уйма всего откладывалась-откладывалась
по разным сторонним причинам, а тут блокирующие факторы один
за другим пошли решаться. Соответственно успевай поворачиваться
:-)
Но если вообще поедет -- то дальше сервису светит заталкивание
в openvz, что само по себе бывает отдельным развлечением.
Оно же бродкасты использует небось на IP?
--
---- WBR, Michael Shigorin <mike на altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
----------- следующая часть -----------
%define build_static 0
Name: netatalk
Version: 2.0.3
Release: alt2
Summary: AppleTalk networking programs
License: BSD
Group: Networking/Other
Url: http://netatalk.sourceforge.net
Source: %name-%version.tar.bz2
Patch0: %name-%version-db.patch
Packager: Michael Shigorin <mike на altlinux.org>
# Automatically added by buildreq on Fri Mar 23 2007
BuildRequires: libdb4-devel libpam-devel libssl-devel libwrap-devel
%description
This package enables Linux to talk to Macintosh computers via the
AppleTalk networking protocol. It allows Linux to act as a file server
over AppleTalk or IP for Macs.
%package devel
Summary: Headers and shared libraries for AppleTalk development
Group: Development/C
Requires: %name = %version-%release
Requires: libpam-devel libssl-devel libwrap-devel libacl-devel libattr-devel automake-common
%description devel
This package contains the header files and shared libraries for building
AppleTalk networking programs
%if %build_static
%package devel-static
Summary: Static libraries for AppleTalk development
Group: Development/C
Requires: %name-devel = %version-%release
%description devel-static
This package contains static libraries for building
AppleTalk networking programs
%endif
%prep
%setup -n %name-%version
%patch0 -p1
%build
%set_automake_version 1.9
%set_autoconf_version 2.5
%set_libtool_version 1.5
%configure \
--with-pam=yes \
--enable-redhat \
--with-shadow \
--enable-fhs \
--with-did=last \
--enable-acl \
%if %build_static
--enable-static
%else
--disable-static
%endif
%make_build
%install
mkdir -p %buildroot{%_sysconfdir/{netatalk,pam.d},%_initdir,%_libdir/netatalk}
mkdir -p %buildroot{%_man1dir,%_man3dir,%_man4dir,%_man8dir}
%make_install install DESTDIR=%buildroot
rm -f %buildroot%_bindir/acleandir.rc
rm -f %buildroot%_includedir/netatalk/at.h
%post
%post_service atalk
%preun
%preun_service atalk
%files
%doc CONTRIBUTORS COPYRIGHT README TODO VERSION NEWS
%doc doc/DEVELOPER doc/FAQ doc/README.* doc/Netatalk-Manual.* doc/htmldocs
%dir %_sysconfdir/%name
%dir %_libdir/%name
%_bindir/*
%_sbindir/*
%_mandir/*
%_libdir/%name/*.so
%_libdir/psa
%_libdir/psf
%_libdir/if*
%_libdir/of*
%_libdir/tf*
%_libdir/*.sh
%config %_sysconfdir/%name/*
%config %_initdir/atalk
%config %_sysconfdir/pam.d/netatalk
%dir %_datadir/%name/
%_datadir/%name/*
%files devel
%dir %_includedir/atalk
%dir %_includedir/netatalk
%_libdir/libatalk.*
%_includedir/atalk/*
%_includedir/netatalk/*
%_datadir/aclocal/*
%if %build_static
%files devel-static
#_libdir/%name/*.la
%_libdir/%name/*.a
%endif
%changelog
* Fri Mar 23 2007 Michael Shigorin <mike на altlinux.org> 2.0.3-alt2
- built for ALT Linux Sisyphus; based on spec+patch by Sergey Kurakin
(in its turn based on ApplianceWare 1.5.x package)
- introduced devel-static subpackage (not built by default)
- added devel subpackages Requires: (based on 1.5.3-alt13)
- minor spec cleanup
- buildreq
* Thu Mar 22 2007 Sergey Kurakin <kurakin на quittance.ru> 2.0.3-alt1.3
- just rebuild
* Sun Apr 2 2006 Sergey Kurakin <kurakin на actdesign.com> 2.0.3-alt1.2
- rebuild
* Mon Jun 13 2005 Sergey Kurakin <kurakin на actdesign.com> 2.0.3-alt1
- new version
* Sat Jun 11 2005 Sergey Kurakin <kurakin на actdesign.com> 2.0.1-alt3
- rebuild
* Sat Feb 26 2005 Sergey Kurakin <kurakin на actdesign.com> 2.0.1-alt2
- rebuild with libdb4.3
* Sun Oct 31 2004 Sergey Kurakin <kurakin на actdesign.com> 2.0.1-alt1
- new version
- added documentation
* Mon Jul 26 2004 Sergey Kurakin <kurakin на actdesign.com> 2.0-beta2
- new version
* Fri Oct 31 2003 Alexander Bokovoy <ab на altlinux.ru> 1.5.3-alt4
- Build for ALT Linux Sisyphus
----------- следующая часть -----------
#!/bin/sh
#
# netatalk AppleTalk services
# description: This package enables Linux to talk to Macintosh
# computers via the AppleTalk networking protocol and
# provides printer, file sharing, and AppleTalk routing
# services.
#
# AppleTalk services. Make sure not to start atalkd in the background:
# its data structures must have time to stablize before running the
# other processes.
#
# chkconfig: - 91 35
# processname: atalkd
# config: /etc/netatalk/netatalk.conf
# pidfile: /var/run/atalkd.pid
# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1
# Source function library.
. /etc/init.d/functions
RETVAL=0
# Source networking configuration.
SourceIfNotEmpty /etc/sysconfig/network
# Check that networking is up.
[ $NETWORKING = "no" ] && exit 0
ATALK_CONF=/etc/netatalk/netatalk.conf
# test for and read in netatalk configuration
[ -f $ATALK_CONF ] || exit 0
. $ATALK_CONF
ATALKD=/usr/sbin/atalkd
AFPD=/usr/sbin/afpd
PAPD=/usr/sbin/papd
NBPREG=/usr/bin/nbprgstr
NBPUNREG=/usr/bin/nbpunrgstr
LOCKFILE=/var/lock/subsys/atalk
# not sure about pidfile
PIDFILE=/var/run/atalkd.pid
[ -x $ATALKD -a -x $AFPD -a -x $PAPD -a -x $NBPREG -a -x $NBPUNREG ] || exit 0
# Quickly probe for appletalk and warn if we can't find it
if [ ! -f /proc/net/appletalk ]; then
/sbin/modprobe appletalk || echo "[could not load appletalk module]"
fi
start()
{
# merge atalk_startup() from atalk.init here
start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- atalkd
RETVAL=$?
return $RETVAL
}
stop()
{
stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- atalkd
RETVAL=$?
return $RETVAL
}
restart()
{
stop
start
}
reload()
{
msg_reloading atalkd
stop_daemon --pidfile "$PIDFILE" --expect-user root -HUP -- atalkd
RETVAL=$?
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
condstop)
if [ -e "$LOCKFILE" ]; then
stop
fi
;;
condrestart)
if [ -e "$LOCKFILE" ]; then
restart
fi
;;
condreload)
if [ -e "$LOCKFILE" ]; then
reload
fi
;;
status)
status --pidfile "$PIDFILE" --expect-user root -- atalkd
RETVAL=$?
;;
*)
msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}"
RETVAL=1
esac
exit $RETVAL
Подробная информация о списке рассылки Sisyphus