Репозитории ALT
Последнее обновление в Сб, 06 июня 2020, 00:52:42 +0000 | Пакетов: 9547
en ru
Исходные пакеты в ветвях
свернуть окно
  • 7.8.4-alt4.1
  • 7.4.42-alt1.3
  • 7.4.42-alt1.3
  • 6.10.58-alt2.qa2
  • 7.0.31-alt1.M60P.2
  • 7.0.31-alt1.M60P.2
  • 6.10.58-alt0.M51.1
Группа :: Науки/Прочее
Исходный пакет: boinc
Необработанный spec-файл

Name: boinc
Version: 6.4.5
Release: alt2
Packager: Paul Wolneykien <manowar at altlinux.ru>
License: LGPLv2+
Group: Sciences/Other
URL: http://boinc.berkeley.edu/
Summary: The Berkeley Open Infrastructure for Network Computing

Source0: %name-%version.tar.bz2
Source1: %name-%version-debian.tar.gz

Patch0: 001_dont_install_ca-bundle.crt.patch
Patch1: 002_remove_hardcoded_optimization.patch
Patch2: 005_using_hyphen_as_minus.patch
Patch3: 101_check_RSA_returned_values.patch
Patch4: 102_gcc4.4_safe.patch
Patch5: %name-%version-alt.patch.gz

BuildPreReq: libMySQL-devel libcurl-devel libGL-devel libGLU-devel libglut-devel wxGTK2u-devel libjpeg-devel gcc-c++ ca-certificates libpango-devel libstdc++-devel-static libXmu-devel libXi-devel rpm-build-python

%description
The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-
source software platform which supports distributed computing, primarily in
the form of "volunteer" computing and "desktop Grid" computing. It is well
suited for problems which are often described as "trivially parallel". BOINC
is the underlying software used by projects such as SETI@home, Einstein@Home,
ClimatePrediciton.net, the World Community Grid, and many other distributed
computing projects.

Install the %name-client package to participate in a number of scientific
projects.

Install the %name-server package to host a computational project.

Install the %name-demo package to view sample projects.

Use the %name-devel package files in development of a new computational
project.

%package client
Group: Sciences/Other
Summary: Client software for the Berkeley Open Infrastructure for Network Computing

Requires: %{name} = %{version}-%{release}

%description client
The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-
source software platform which supports distributed computing, primarily in
the form of "volunteer" computing and "desktop Grid" computing. It is well
suited for problems which are often described as "trivially parallel". BOINC
is the underlying software used by projects such as SETI@home, Einstein@Home,
ClimatePrediciton.net, the World Community Grid, and many other distributed
computing projects.

This package installs the BOINC client software, which will allow your
computer to participate in one or more BOINC projects, using your spare
computer time to search for cures for diseases, model protein folding, study
global warming, discover sources of gravitational waves, and many other types
of scientific and mathematical research.

%package manager
Summary: GUI to control and monitor the BOINC system
Group: Sciences/Other

Requires: %{name}-client = %{version}-%{release}

%description manager
The BOINC Manager is a graphical monitor and control utility for the BOINC
core client. It gives a detailed overview of the state of the client it is
monitoring. The BOINC Manager has two modes of operation, the "Simple View" in
which it only displays the most important information and the "Advanced View"
in which all information and all control elements are available.

%package devel
Summary: Development files for BOINC system
Group: Development/C

%description devel
This package contains development files for the Berkeley Open
Infrastructure for Network Computing.

%package doc
Summary: Documentation files for BOINC system
Group: Sciences/Other
BuildArch: noarch

Requires: %{name} = %{version}-%{release}

%description doc
This package contains documentation files for Berkeley Open
Infrastructure for Network Computing.

%package server
Group: Sciences/Other
Summary: Server software for the Berkeley Open Infrastructure for Network Computing

Requires: %{name} = %{version}-%{release}

%description server
The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-
source software platform which supports distributed computing, primarily in
the form of "volunteer" computing and "desktop Grid" computing. It is well
suited for problems which are often described as "trivially parallel". BOINC
is the underlying software used by projects such as SETI@home, Einstein@Home,
ClimatePrediciton.net, the World Community Grid, and many other distributed
computing projects.

This package installs the BOINC server software. The BOINC server is
intended to be a central communicational node for the number of
distributed computational projects. This includes program distribution,
project status tracking, data distributing, result acquiring and more.

%package demo
Group: Sciences/Other
Summary: Sample projects for the Berkeley Open Infrastructure for Network Computing
Requires: %{name}-server = %{version}-%{release}

%description demo
The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-
source software platform which supports distributed computing, primarily in
the form of "volunteer" computing and "desktop Grid" computing. It is well
suited for problems which are often described as "trivially parallel". BOINC
is the underlying software used by projects such as SETI@home, Einstein@Home,
ClimatePrediciton.net, the World Community Grid, and many other distributed
computing projects.

This package installs a number of sample projects for the BOINC server
software.

%prep
%setup -a1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1

# Do not use /usr/bin/env in PHP scripts.

grep -rHsl -m 1 -e 'bin/env' html/* |
while read f; do
sed -e '1 s,^#!/usr/bin/env[[:space:]]\+\(.*\)$,#!/usr/bin/\1,' -i "$f"
done

%build
# On some architectures it is required to change the BOINC platform of the

# core client (with the --with-boinc-platform configure option) to match the

# official BOINC platform, otherwise it would not download any applications,

# because projects mostly provide applications for official BOINC platforms

# only. See http://boinc.berkeley.edu/trac/wiki/BoincPlatforms for the list

# of official BOINC platforms.

TYPE_FLAGS=
case %_target in
i?86-linux|pentium?-linux)
TYPE_FLAGS="$TYPE_FLAGS --with-boinc-platform=i686-pc-linux-gnu"
;;
x86_64-linux)
TYPE_FLAGS="$TYPE_FLAGS --with-boinc-platform=x86_64-pc-linux-gnu"
;;
else)
echo "Can't find the corresponding BOINC platform for %_target. See http://boinc.berkeley.edu/trac/wiki/BoincPlatforms for details."
exit -1
;;
esac

# Build script

%autoreconf
./_autosetup
%configure $TYPE_FLAGS \
--enable-client \
--enable-server \
--enable-unicode \
--with-ssl
%make

# Generate binary message catalogs of the BOINC Manager.

# for i in `ls locale/client`; do \

# if [ -f "locale/client/$i/BOINC Manager.po" ]; then \

# msgfmt -o "locale/client/$i/BOINC Manager.mo" \

# "locale/client/$i/BOINC Manager.po"; \

# fi; \

# done;


%install
%makeinstall

# Used by boinc-client to assign the lowest possible

# cpu_share of 2 to the boinc user.

install -D -m0755 debian/extra/udev-cpu_share \
%buildroot%{_libexecdir}/%name/udev-cpu_share
mkdir -p -m 0755 %buildroot%{_sysconfdir}/udev/rules.d
cat <<EOF > %buildroot%{_sysconfdir}/udev/rules.d/60-boinc-client.rules
SUBSYSTEM=="kernel", DEVPATH=="/kernel/uids/*", ACTION=="add", RUN+="%{_libexecdir}/%name/udev-cpu_share"
EOF
chmod 0644 %buildroot%{_sysconfdir}/udev/rules.d/*

# Bash completion script for boinccmd.

install -D -m0644 debian/extra/bash/boinc \
%buildroot%{_sysconfdir}/bash_completion.d/boinc

# This script creates symlinks for anonymous BOINC applications.

install -D -m 0755 debian/extra/update-boinc-applinks \
%buildroot%{_bindir}/update-boinc-applinks

# Install BOIC client default configuration files

install -D -m 0644 debian/conffiles/cc_config.xml \
%buildroot%{_sysconfdir}/boinc-client/cc_config.xml
install -D -m 0644 debian/conffiles/global_prefs_override.xml \
%buildroot%{_sysconfdir}/boinc-client/global_prefs_override.xml
install -D -m 0644 debian/conffiles/gui_rpc_auth.cfg \
%buildroot%{_sysconfdir}/boinc-client/gui_rpc_auth.cfg
install -D -m 0644 debian/conffiles/remote_hosts.cfg \
%buildroot%{_sysconfdir}/boinc-client/remote_hosts.cfg

# Install the icons.

mkdir -p -m0755 %buildroot%{_datadir}/icons/hicolor/16x16/apps
mv %buildroot%{_datadir}/boinc/boincmgr.16x16.png \
%buildroot%{_datadir}/icons/hicolor/16x16/apps/boincmgr.png
mkdir -p -m0755 %buildroot%{_datadir}/icons/hicolor/32x32/apps
mv %buildroot%{_datadir}/boinc/boincmgr.32x32.png \
%buildroot%{_datadir}/icons/hicolor/32x32/apps/boincmgr.png
mkdir -p -m0755 %buildroot%{_datadir}/icons/hicolor/48x48/apps
mv %buildroot%{_datadir}/boinc/boincmgr.48x48.png \
%buildroot%{_datadir}/icons/hicolor/48x48/apps/boincmgr.png

# Install the init script.

# install -D -m 0644 debian/boinc-client.default \

# %buildroot%_sysconfdir/sysconfig/boinc-client

# install -D -m 0755 debian/boinc-client.init \

# %buildroot%_initdir/boinc-client


# Install the desktop and menu files

install -D -m 0644 debian/boinc-manager.desktop \
%buildroot%{_datadir}/applications/boinc-manager.desktop
install -D -m 0644 debian/boinc-manager.menu \
%buildroot%{_datadir}/menu/boinc-manager

# Install BOINC code signing program

mv %buildroot%{_bindir}/crypt_prog \
%buildroot%{_bindir}/boinc-crypt

# Install common links to the executables

ln -s boinc_client %buildroot%{_bindir}/boinc-client
ln -s boinc_cmd %buildroot%{_bindir}/boinccmd
ln -s boinc_gui %buildroot%{_bindir}/boincmgr

# Install the switcher helper to the BOINC private executables directory.

mv %buildroot%{_bindir}/switcher \
%buildroot%{_libexecdir}/%name/switcher

# Create boinc user home directory

mkdir -p -m 0750 %buildroot%{_localstatedir}/boinc

# Install server binary executables.

install -d -m 0755 %buildroot%{_libexecdir}/%name-server

install -d -m 0755 %buildroot%{_libexecdir}/%name-server/bin
mv %buildroot%{_bindir}/create_work \
%buildroot%{_libexecdir}/%name-server/bin/create-work
mv %buildroot%{_bindir}/dir_hier_move \
%buildroot%{_libexecdir}/%name-server/bin/dir-hier-move
mv %buildroot%{_bindir}/dir_hier_path \
%buildroot%{_libexecdir}/%name-server/bin/dir-hier-path
mv %buildroot%{_bindir}/sign_executable \
%buildroot%{_libexecdir}/%name-server/bin/sign-executable
mv %buildroot%{_bindir}/start \
%buildroot%{_libexecdir}/%name-server/bin/start
mv %buildroot%{_bindir}/stop \
%buildroot%{_libexecdir}/%name-server/bin/stop
mv %buildroot%{_bindir}/status \
%buildroot%{_libexecdir}/%name-server/bin/status

# Install the PHP part of the server.

cp -Rp html %buildroot%{_datadir}/%name-server/

# Install database files.

install -d -m 0755 %buildroot%{_datadir}/%name-server/db
install -m 0644 db/*.sql %buildroot%{_datadir}/%name-server/db/
install -m 0644 db/init_db %buildroot%{_datadir}/%name-server/db/init-db

# Install Python scripting framework.

install -d -m 0755 %buildroot%{python_sitelibdir}/Boinc
install -m 0644 py/Boinc/*.py %buildroot%{python_sitelibdir}/Boinc/

#debian/extra/boinc_path_config.py usr/share/python-support/boinc-server/Boinc


# Move sample applications.

install -d -m 0755 %buildroot%{_libexecdir}/boinc-server/apps
mv %buildroot%{_bindir}/upper_case \
%buildroot%{_libexecdir}/boinc-server/apps/upper-case
mv %buildroot%{_bindir}/concat \
%buildroot%{_libexecdir}/boinc-server/apps/concat
mv %buildroot%{_bindir}/1sec \
%buildroot%{_libexecdir}/boinc-server/apps/1sec

%pre client

# Create BOINC user and group

getent group boinc >/dev/null || groupadd -r boinc
getent passwd boinc >/dev/null || \
useradd -r -g boinc -d %{_localstatedir}/boinc -s /sbin/nologin \
-c "BOINC client account." boinc

%post client
/sbin/chkconfig --add boinc-client
# Don't install ca-bundle.crt from BOINC, and keep the system using

# the ca-bundle.crt provided by ca-certificates.

ln -s %{_datadir}/ca-certificates/ca-bundle.crt \
%{_localstatedir}/boinc/ca-bundle.crt
chown -R boinc:boinc %{_localstatedir}/boinc

%preun client
if [ $1 -eq 0 ]; then #if uninstalling, not only updating
/sbin/service boinc-client stop
/sbin/chkconfig --del boinc-client
fi

%post server
groupadd -r boincadm

%files
%dir %{_datadir}/boinc

%files demo
%{_libexecdir}/boinc-server/apps/*

%files server
%dir %{_libexecdir}/boinc-server
%dir %{_libexecdir}/boinc-server/apps
%dir %{_libexecdir}/boinc-server/bin
%{_libexecdir}/boinc-server/bin/*
%dir %{_libexecdir}/BOINC
%dir %{_libexecdir}/BOINC/sched
%{_libexecdir}/BOINC/sched/*
%dir %{_datadir}/boinc-server
%dir %{_datadir}/boinc-server/bt
%{_datadir}/boinc-server/bt/*
%dir %{_datadir}/boinc-server/inc
%{_datadir}/boinc-server/inc/*
%dir %{_datadir}/boinc-server/languages
%dir %{_datadir}/boinc-server/languages/project_specific_translations
%{_datadir}/boinc-server/languages/project_specific_translations/*
%dir %{_datadir}/boinc-server/languages/translations
%{_datadir}/boinc-server/languages/translations/*
%dir %{_datadir}/boinc-server/ops
%{_datadir}/boinc-server/ops/*
%dir %{_datadir}/boinc-server/project.sample
%{_datadir}/boinc-server/project.sample/*
%dir %{_datadir}/boinc-server/queue
%{_datadir}/boinc-server/queue/README
%{_datadir}/boinc-server/queue/*.sql
%dir %{_datadir}/boinc-server/queue/inc
%{_datadir}/boinc-server/queue/inc/*
%dir %{_datadir}/boinc-server/queue/ops
%{_datadir}/boinc-server/queue/ops/*
%dir %{_datadir}/boinc-server/queue/user
%{_datadir}/boinc-server/queue/user/*
%dir %{_datadir}/boinc-server/user
%{_datadir}/boinc-server/user/*
%dir %{_datadir}/%name-server/db
%{_datadir}/%name-server/db/*.sql
%{_datadir}/%name-server/db/init-db
%dir %{python_sitelibdir}/Boinc
%{python_sitelibdir}/Boinc/*.py

%files client
%{_sysconfdir}/bash_completion.d/boinc
%config(noreplace) %{_sysconfdir}/boinc-client/*.xml
%config(noreplace) %{_sysconfdir}/boinc-client/*.cfg
%attr(0644, root, root) %config(noreplace) %{_sysconfdir}/sysconfig/boinc-client
%{_initrddir}/boinc-client
%{_sysconfdir}/udev/rules.d/60-boinc-client.rules
%{_bindir}/boinc_client
%{_bindir}/boinc_cmd
%{_bindir}/boinc-client
%{_bindir}/boinccmd
%{_bindir}/update-boinc-applinks
%{_libexecdir}/%name/switcher
%{_libexecdir}/%name/udev-cpu_share
#%{_mandir}/man1/boinccmd.1.gz

#%{_mandir}/man1/boinc.1.gz

%attr(0750, boinc, boinc) %{_localstatedir}/boinc

%files manager
%{_bindir}/boinc_gui
%{_bindir}/boincmgr
%{_datadir}/applications/boinc-manager.desktop
%{_datadir}/locale/*/LC_MESSAGES/*.mo
%{_datadir}/menu/boinc-manager
%{_datadir}/icons/hicolor/16x16/apps/boincmgr.png
%{_datadir}/icons/hicolor/32x32/apps/boincmgr.png
%{_datadir}/icons/hicolor/48x48/apps/boincmgr.png
#%{_mandir}/man1/boincmgr.1.gz


%files devel
%{_libdir}/libboinc_zip.a
%{_libdir}/libboinc.a
%{_libdir}/libsched.a
%{_libdir}/libboinc_api.a
%{_libdir}/libboinc_graphics2.a
%dir %{_includedir}/boinc
%{_includedir}/boinc/*.h
%_bindir/boinc-crypt

%changelog
* Mon Jul 28 2009 Paul Wolneykien <manowar at altlinux.ru> 6.4.5-alt2
- + BOINC-server package.
- Repocop warnings on the version 6.4.5-alt1 fixed.

* Mon Jul 28 2009 Paul Wolneykien <manowar at altlinux.ru> 6.4.5-alt1
- Initial ALTLinux release.
 
Проект Geyser основан на коде из проекта Prometheus 2.0, который был доступен по лицензии MIT