Re: BinkD 1.1a73 with perl configure error
By: Michael Dukelsky to Eric Renfro on Tue Sep 15 2015 05:49 pm
MD> Hello Eric,
MD> Tuesday September 15 2015, Eric Renfro wrote to Michael Dukelsky:
ER>>>> So, I'm trying to compile BinkD with perl support, and it's
ER>>>> failing at the configure phase.
MD> [...skipped...]
ER>>>> Any thoughts to this issue and if it's possible to get support
ER>>>> for it in?
MD>>> I run the following:
MD>>> cvs -z9 -d:pserver:binkd@cvs.happy.kiev.ua:/cvs export -r HEAD
MD>>> binkd tar -czf binkd.tar.gz binkd rpmbuild -ta binkd.tar.gz
MD>>> Now I have:
MD>>> [mike@centos7 ~]$ cd ~/rpmbuild/RPMS/x86_64
MD>>> [mike@centos7 x86_64]$ ls binkd*
MD>>> binkd-1.1a.73-1.x86_64.rpm binkd-debuginfo-1.1a.73-1.x86_64.rpm
MD>>> I do not see any problem.
ER>> But... Does it have perl support, can you use perl-hooks, and
ER>> perl-var in the configuration? That's the specific issue I'm trying
ER>> to solve?
MD> Here is what we can see in binkd/mkfls/unix/binkd.spec:
MD> %configure \
MD> --prefix=%{_prefix} \
MD> --sysconfdir=%{_sysconfdir} \
MD> --localstatedir=%{_localstatedir} \
MD> --with-proxy --with-ntlm --with-bwlim \
MD> --with-perl --with-zlib --with-bzip2
MD> Since it is written --with-perl I suppose Perl is supported. But I did not
MD> check it because I did not use Perl in binkd. You may check it yourself.
Yes, --with-perl just makes configure check for $PERLDIR/auto/DynaLoader.a,
which doesn't exist on Perl > 5.8. That --with-perl doesn't necessarily impose
it will be available, just that it will try to do it, and if it can, it will.
in this case anyway.
ER>> I'm not using the specifically bundled .spec file as it's
ER>> incomplete,
MD> And what is missing?
For example, perl-devel in the Requirements. There's also a lot of things
specifically missing in the installation process, which could be fixed in the
Makefile itself. Things, for example, after the "make install" part of the
spec, I'm doing this in addition to it:
kdir -p "%{buildroot}%{_sysconfdir}/binkd"
mv "%{buildroot}%{_sysconfdir}/binkd.conf-dist"
"%{buildroot}%{_sysconfdir}/binkd/binkd.conf"
mv "%{buildroot}%{_sbindir}" "%{buildroot}%{_bindir}"
mkdir -p "%{buildroot}usr/lib/systemd/system"
mkdir -p "%{buildroot}usr/lib/tmpfiles.d"
mkdir -p "%{buildroot}%{_localstatedir}/spool/ftn/binkd"
install -D -m 0644 misc/nodelist.pl
"%{buildroot}%{_localstatedir}/spool/ftn/binkd/nodelist.pl"
install -D -m 0755 misc/srifreq
"%{buildroot}%{_localstatedir}/spool/ftn/binkd/srifreq"
install -D -m 0644 %SOURCE1 "%{buildroot}/usr/lib/systemd/system/binkd.service"
install -D -m 0644 %SOURCE2
"%{buildroot}/usr/lib/systemd/system/binkd@.service"
install -D -m 0644 %SOURCE3 "%{buildroot}/usr/lib/systemd/system/binkd.socket"
install -D -m 0644 %SOURCE4 "%{buildroot}/usr/lib/tmpfiles.d/binkd.conf"
mkdir -p "%{buildroot}%{_docdir}/binkd"
install -D -m 0644 doc/binkd-ref-en.txt
"%{buildroot}%{_docdir}/binkd/binkd-ref-en.txt"
install -D -m 0644 doc/binkp10-en.txt
"%{buildroot}%{_docdir}/binkd/binkp10-en.txt"
install -D -m 0644 doc/binkp11-en.txt
"%{buildroot}%{_docdir}/binkd/binkp11-en.txt"
install -D -m 0644 doc/binkplic-en.html
"%{buildroot}%{_docdir}/binkd/binkplic-en.html"
install -D -m 0644 doc/howto-en.texi
"%{buildroot}%{_docdir}/binkd/howto-en.texi"
install -D -m 0644 doc/srif.txt "%{buildroot}%{_docdir}/binkd/srif.txt"
install -D -m 0644 binkdfaq-en.txt
"%{buildroot}%{_docdir}/binkd/binkdfaq.txt.en"
install -D -m 0644 binkd.txt "%{buildroot}%{_docdir}/binkd/binkd.txt"
install -D -m 0644 release-notes.txt
"%{buildroot}%{_docdir}/binkd/release-notes.txt"
install -D -m 0644 binkd.conf "%{buildroot}%{_docdir}/binkd/binkd.conf-dist"
install -D -m 0644 README.md "%{buildroot}%{_docdir}/binkd/README.md"
install -D -m 0644 COPYING "%{buildroot}%{_docdir}/binkd/COPYING"
for dir in inbound{,-temp,-unsecure} outbound/fidonet longbox personalboxes
nodelist; do
mkdir -p "%{buildroot}%{_localstatedir}/spool/ftn/$dir"
done
%clean
rm -rf %{buildroot}
plus the pre-install script, and post-install script, which is equally
important:
%pre
getent group binkd &>/dev/null || groupadd -r binkd
getent passwd binkd &>/dev/null || \
useradd -r -g binkd -d %{_sharedstatedir}/spool/ftn -s /sbin/nologin -c
"BinkD server" binkd
%post
systemd-tmpfiles --create binkd.conf
This of course also includes specifically systemd service configuration, since
it's CentOS 7.
ER>> mine is a bit more thorough, but I'll be providing some it soon
ER>> enough when it's ready, if people want. :)
MD> OK.
)))[Psi-Jack -//- Decker]
--- SBBSecho 2.27-Linux
* Origin: Decker's Heaven -//- bbs.deckersheaven.com (1:135/371)
|