From c6f7a6803bd20a8db416b5645dccd66df928f60884c18a4c8d767717f7be375a Mon Sep 17 00:00:00 2001 From: Christian Wittmer Date: Sat, 22 Mar 2014 14:01:27 +0000 Subject: [PATCH 1/6] Accepting request 227113 from home:computersalat:devel:network update to 7.2.42 OBS-URL: https://build.opensuse.org/request/show/227113 OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=34 --- README.SUSE | 8 +- boinc-7.2.42.tar.bz2 | 3 + boinc-LC_MESSAGES.patch | 10 +- boinc-client-7.0.36-dynamic_buffers.patch | 41 ------ ...patch => boinc-client-AM_CONDITIONAL.patch | 12 +- boinc-client.changes | 35 +++++ boinc-client-systemd => boinc-client.service | 0 boinc-client.spec | 132 +++++++++++------- boinc-configure.patch | 20 +++ boinc-docbook2x.patch | 2 +- boinc-guirpcauth.patch | 26 ++-- boinc-init.patch | 89 ------------ boinc_core_release-7_0_36.tar.bz2 | 3 - 13 files changed, 166 insertions(+), 215 deletions(-) create mode 100644 boinc-7.2.42.tar.bz2 delete mode 100644 boinc-client-7.0.36-dynamic_buffers.patch rename boinc-client-7.0.36-AM_CONDITIONAL.patch => boinc-client-AM_CONDITIONAL.patch (84%) rename boinc-client-systemd => boinc-client.service (100%) create mode 100644 boinc-configure.patch delete mode 100644 boinc-init.patch delete mode 100644 boinc_core_release-7_0_36.tar.bz2 diff --git a/README.SUSE b/README.SUSE index 7c60d44..d2e9b55 100644 --- a/README.SUSE +++ b/README.SUSE @@ -34,8 +34,8 @@ are: What the installer does 1. Creates the daemon script at /etc/init.d/boinc-client. - 2. Places the BOINC binaries (boinc_client, boinc_cmd and boincmgr) - in /usr/bin/. + 2. Places the BOINC binaries (boinc-client, boinccmd, boinc-gui + and boincmgr) in /usr/bin/. 3. Creates /var/lib/boinc/ for BOINC data files and the slots and projects directories. 4. Names the daemon boinc-client. @@ -52,7 +52,7 @@ are: 2. If you elected to not have Linux start the daemon at boot time, start the daemon manually with |/sbin/service boinc-client start| 3. Open a terminal and enter |ps aux | grep boinc| to print a partial - list of running processes. You should see |boinc_client --daemon| + list of running processes. You should see |boinc-client --dir ...| in that list, if not then something went wrong in the steps above. @@ -95,7 +95,7 @@ manager, you can: directory without becoming root. As you type in each command below, substitute your Linux username wherever you see |username|. Enter the following commands in a terminal, as root: - 1. |/usr/sbin/usermod -G boinc -a username| + 1. |/usr/sbin/usermod -A boinc username| 2. |chmod g+rw /var/lib/boinc| 3. |chmod g+rw /var/lib/boinc/*.*| 4. |ln -s /var/lib/boinc/gui_rpc_auth.cfg diff --git a/boinc-7.2.42.tar.bz2 b/boinc-7.2.42.tar.bz2 new file mode 100644 index 0000000..bd0a502 --- /dev/null +++ b/boinc-7.2.42.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfff203487f9d030f916891074f978abde6c0d34b3147cfc36e42a5060b8d4b8 +size 40873943 diff --git a/boinc-LC_MESSAGES.patch b/boinc-LC_MESSAGES.patch index 2d3398f..5716b06 100644 --- a/boinc-LC_MESSAGES.patch +++ b/boinc-LC_MESSAGES.patch @@ -3,18 +3,18 @@ Index: locale/Makefile.am --- locale/Makefile.am.orig +++ locale/Makefile.am @@ -45,12 +45,12 @@ locale_dirs = \ - install-exec-hook: + install-data-hook: mydir=$(DESTDIR)$(datadir) ;\ for ldir in $(locale_dirs) ; do \ - $(INSTALL) -d $$mydir/$$ldir ; \ + $(INSTALL) -d $$mydir/$$ldir/LC_MESSAGES ; \ if [ -f $$ldir/BOINC-Manager.mo ] ; then \ -- $(INSTALL) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/BOINC-Manager.mo ; \ -+ $(INSTALL) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Manager.mo ; \ +- $(INSTALL_DATA) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/BOINC-Manager.mo ; \ ++ $(INSTALL_DATA) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Manager.mo ; \ fi ;\ if [ -f $$ldir/BOINC-Client.mo ] ; then \ -- $(INSTALL) $$ldir/BOINC-Client.mo $$mydir/$$ldir/BOINC-Client.mo ; \ -+ $(INSTALL) $$ldir/BOINC-Client.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Client.mo ; \ +- $(INSTALL_DATA) $$ldir/BOINC-Client.mo $$mydir/$$ldir/BOINC-Client.mo ; \ ++ $(INSTALL_DATA) $$ldir/BOINC-Client.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Client.mo ; \ fi ;\ done diff --git a/boinc-client-7.0.36-dynamic_buffers.patch b/boinc-client-7.0.36-dynamic_buffers.patch deleted file mode 100644 index e5cf029..0000000 --- a/boinc-client-7.0.36-dynamic_buffers.patch +++ /dev/null @@ -1,41 +0,0 @@ -Index: lib/filesys.cpp -=================================================================== ---- lib/filesys.cpp.orig -+++ lib/filesys.cpp -@@ -47,6 +47,7 @@ - #include - #include - #include -+#include - - #if HAVE_SYS_RESOURCE_H - #include -@@ -412,7 +413,8 @@ - } while (FindNextFileA(hFind, &findData)); - ::FindClose(hFind); - #else -- char filename[1024], subdir[1024]; -+ char filename[PATH_MAX]; -+ char *subdir;; - int retval=0; - DIRREF dirp; - double x; -@@ -423,7 +425,7 @@ - while (1) { - retval = dir_scan(filename, dirp, sizeof(filename)); - if (retval) break; -- sprintf(subdir, "%s/%s", dirpath, filename); -+ asprintf(&subdir, "%s/%s", dirpath, filename); - - if (is_dir(subdir)) { - if (recurse) { -@@ -436,6 +438,9 @@ - if (retval) continue; - size += x; - } -+ -+ if(subdir != NULL) -+ free(subdir); - } - dir_close(dirp); - #endif diff --git a/boinc-client-7.0.36-AM_CONDITIONAL.patch b/boinc-client-AM_CONDITIONAL.patch similarity index 84% rename from boinc-client-7.0.36-AM_CONDITIONAL.patch rename to boinc-client-AM_CONDITIONAL.patch index fa4aad1..159e49b 100644 --- a/boinc-client-7.0.36-AM_CONDITIONAL.patch +++ b/boinc-client-AM_CONDITIONAL.patch @@ -2,15 +2,15 @@ Index: configure.ac =================================================================== --- configure.ac.orig +++ configure.ac -@@ -39,6 +39,7 @@ - AC_PROG_CXX +@@ -45,6 +45,7 @@ m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCX + dnl ------ AC_PROG_F77 AC_PROG_CPP +AC_PROG_OBJCXX AC_PROG_MAKE_SET SAH_LINKS AC_LANG_PUSH(C) -@@ -744,6 +745,8 @@ +@@ -793,6 +794,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test " AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes]) AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so]) @@ -19,9 +19,11 @@ Index: configure.ac dnl ====================================================================== dnl some more vodoo required for building portable client-binary (client, clientgui) dnl ====================================================================== +Index: clientgui/Makefile.am +=================================================================== --- clientgui/Makefile.am.orig +++ clientgui/Makefile.am -@@ -118,9 +118,8 @@ +@@ -117,9 +117,8 @@ EXTRA_DIST = *.h \ ../lib/error_numbers.h \ locale $(mac_headers) @@ -29,7 +31,7 @@ Index: configure.ac -boincmgr_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CXXFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) `pkg-config --cflags gtk+-2.0` -boincmgr_LDFLAGS = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) `pkg-config --libs gtk+-2.0` -lnotify +boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) $(GTK2_CFLAGS) -+boincmgr_LDFLAGS = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) $(GTK2_LIBS) ++boincmgr_LDFLAGS = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) $(GTK2_LIBS) -lnotify win_config.h: $(top_srcdir)/config.h grep '#define.*BOINC.*VERSION' $^ > $@ diff --git a/boinc-client.changes b/boinc-client.changes index d1c3155..ceeaaad 100644 --- a/boinc-client.changes +++ b/boinc-client.changes @@ -1,3 +1,28 @@ +------------------------------------------------------------------- +Tue Mar 18 15:21:19 UTC 2014 - chris@computersalat.de + +- fix README.SUSE + +------------------------------------------------------------------- +Sun Mar 16 22:23:48 UTC 2014 - chris@computersalat.de + +# fix for bnc#779335 + * disabled boinc-completion.patch +- update to 7.2.42 + * Fix problem that was causing scheduler RPCs to fail on Yoyo@home + (HTTP status code 400) + * for mor info have a look at + http://boinc.berkeley.edu/wiki/Release_Notes +- removed obsolete patches: + * boinc-client-dynamic_buffers.patch + * boinc-init.patch +- rebased patches: + * boinc-LC_MESSAGES.patch + * boinc-client-AM_CONDITIONAL.patch + * boinc-configure.patch + * boinc-docbook2x.patch + * boinc-guirpcauth.patch + ------------------------------------------------------------------- Sat Oct 26 09:45:58 UTC 2013 - p.drouand@gmail.com @@ -10,6 +35,16 @@ Sat Oct 26 09:45:58 UTC 2013 - p.drouand@gmail.com - Remove boinc-client-glib_h.patch; fixed on upstream - Do not copy INSTALL in documentation +------------------------------------------------------------------- +Wed May 1 20:53:41 UTC 2013 - chris@computersalat.de + +- update to 7.0.28 + * sorry but there is no ChangeLog :( +- rebase patches + * dynamic_buffers, guirpcauth, AM_CONDITIONAL +- add configure patch +- remove obsolete glib_h patch + ------------------------------------------------------------------- Wed Apr 3 11:12:16 UTC 2013 - coolo@suse.com diff --git a/boinc-client-systemd b/boinc-client.service similarity index 100% rename from boinc-client-systemd rename to boinc-client.service diff --git a/boinc-client.spec b/boinc-client.spec index 08c5edf..ee015a1 100644 --- a/boinc-client.spec +++ b/boinc-client.spec @@ -1,7 +1,7 @@ # # spec file for package boinc-client # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2011 by Sascha Manns # # All modifications and additions to the file contributed by third parties @@ -22,18 +22,30 @@ %if 0%{?suse_version} >= 1140 %define __find_requires %wx_requires %endif -%define version_ 7_0_36 +#define version_ 6_12_43 %define soname 7 %define boinc_dir %{_localstatedir}/lib/boinc Name: boinc-client -Version: 7.0.36 +Version: 7.2.42 Release: 0 -Summary: The BOINC client core -License: LGPL-3.0 +Summary: The BOINC client +License: GPL-3.0+, LGPL-3.0+ Group: Productivity/Clustering/Computing Url: http://boinc.berkeley.edu/ -Source0: boinc_core_release-%{version_}.tar.bz2 +#Source0: boinc_core_release_%{version_}.tar.bz2 +# There is no real tarball, hence I did +# +# git clone git://boinc.berkeley.edu/boinc.git +# git checkout master +# git checkout -t client_release/7.2/7.2.42 +# +# then I created an archive via git +# +# git archive -v --format=tar --prefix=boinc-7.2.42/ \ +# client_release/7.2/7.2.42 | bzip2 >../boinc-7.2.42.tar.bz2 + +Source0: boinc-%{version}.tar.bz2 Source1: boinc-icons.tar.bz2 Source2: boinc-gui.desktop Source3: README.SUSE @@ -48,7 +60,7 @@ Source6: boinc-manager # Trim all binaries and other unnecessary things. Source8: generate-tarball.sh Source10: %{name}.init -Source20: boinc-client-systemd +Source20: %{name}.service Source100: %{name}-rpmlintrc # PATCH-FIX-OPENSUSE boinc-guirpcauth.patch @@ -58,27 +70,35 @@ Source100: %{name}-rpmlintrc # without setting proper group ownership of the password file. Patch0: boinc-guirpcauth.patch # PATCH-FIX-OPENSUSE boinc-init.patch -Patch1: boinc-init.patch +#Patch1: boinc-init.patch # PATCH-FIX-OPENSUSE boinc-LC_MESSAGES.patch Patch2: boinc-LC_MESSAGES.patch # PATCH-FIX-OPENSUSE boinc-completion.patch -Patch3: boinc-completion.patch +# patch disabled: fix for bnc#779335 +#Patch3: boinc-completion.patch # PATCH-FIX-OPENSUSE boinc-docbook2x.patch Patch4: boinc-docbook2x.patch # PATCH-FIX-OPENSUSE pth@suse.de use asprintf to fix buffer overflow -Patch5: boinc-client-7.0.36-dynamic_buffers.patch +#Patch5: boinc-client-dynamic_buffers.patch +# PATCH-FIX-OPENSUSE computersalat - #error "Only can be included directly. +#Patch6: %{name}-glib_h.patch # PATCH-FIX-OPENSUSE coolo - #error: am__fastdepOBJCXX does not appear in AM_CONDITIONAL -Patch7: boinc-client-7.0.36-AM_CONDITIONAL.patch +Patch7: %{name}-AM_CONDITIONAL.patch +# PATCH-FIX-OPENSUSE computersalat - error: +# configure.ac:898: required file `test/version.inc.in' not found +# configure.ac:898: required file `py/Boinc/version.py.in' not found +Patch8: boinc-configure.patch # BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires(pre): pwdutils -%if 0%{?suse_version} < 1230 +%if 0%{?suse_version} >= 1210 +BuildRequires: systemd +%{?systemd_requires} +%define has_systemd 1 +%else Requires(pre): %insserv_prereq Requires(pre): %fillup_prereq -%else -BuildRequires: pkgconfig(systemd) -%{?systemd_requires} %endif BuildRequires: Mesa-devel @@ -90,6 +110,12 @@ BuildRequires: update-desktop-files #BuildRequires: fcgi-devel BuildRequires: fdupes BuildRequires: freeglut-devel +%if 0%{?suse_version} >= 1310 +BuildRequires: libXScrnSaver-devel +BuildRequires: libXi-devel +BuildRequires: libxcb-devel +BuildRequires: xcb-util-devel +%endif BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: gettext-runtime @@ -112,7 +138,7 @@ BuildRequires: xorg-x11-libXmu-devel %if 0%{?suse_version} <= 1130 BuildRequires: wxGTK-devel >= 2.6.0 %else -BuildRequires: wxWidgets-devel >= 2.8.7 +BuildRequires: wxWidgets-devel >= 2.8.0 %endif Requires: cron @@ -186,16 +212,19 @@ BuildArch: noarch This package contains documentation files for %{name}. %prep -%setup -q -n boinc_core_release_%{version_} -D -a 1 +#setup -q -n boinc_core_release_%{version_} -D -a 1 +%setup -q -n boinc-%{version} -D -a 1 %patch0 -%patch1 +#patch1 %patch2 -%patch3 +#patch3 %patch4 -%patch5 +#patch5 %if 0%{?suse_version} >= 1220 +#patch6 %patch7 %endif +%patch8 # Install user hints %{__install} -m0644 %{S:3} README.SUSE @@ -216,21 +245,17 @@ pushd clientgui/res/skins/default/graphic/ popd # fix utf8 -iconv -f ISO88591 -t UTF8 < checkin_notes > checkin_notes.utf8 -touch -r checkin_notes checkin_notes.utf8 -mv checkin_notes.utf8 checkin_notes - -iconv -f ISO88591 -t UTF8 < checkin_notes_2004 > checkin_notes_2004.utf8 -touch -r checkin_notes_2004 checkin_notes_2004.utf8 -mv checkin_notes_2004.utf8 checkin_notes_2004 - iconv -f ISO88591 -t UTF8 < checkin_notes_2005 > checkin_notes_2005.utf8 touch -r checkin_notes_2005 checkin_notes_2005.utf8 mv checkin_notes_2005.utf8 checkin_notes_2005 -iconv -f ISO88591 -t UTF8 < checkin_notes_2006 > checkin_notes_2006.utf8 -touch -r checkin_notes_2006 checkin_notes_2006.utf8 -mv checkin_notes_2006.utf8 checkin_notes_2006 +iconv -f ISO88591 -t UTF8 < checkin_notes_2009 > checkin_notes_2009.utf8 +touch -r checkin_notes_2009 checkin_notes_2009.utf8 +mv checkin_notes_2009.utf8 checkin_notes_2009 + +iconv -f ISO88591 -t UTF8 < checkin_notes_2010 > checkin_notes_2010.utf8 +touch -r checkin_notes_2010 checkin_notes_2010.utf8 +mv checkin_notes_2010.utf8 checkin_notes_2010 # fix permissions and newlines on source files chmod 644 clientgui/{DlgItemProperties.h,AsyncRPC.cpp,DlgItemProperties.cpp} @@ -329,11 +354,10 @@ popd %{__rm} -f %{buildroot}%{_sysconfdir}/sysconfig/%{name} # Install init and create symlink to /etc/init.d/boinc-client -%if 0%{?suse_version} >=1230 -chmod -x %{S:20} -%{__install} -Dm0755 %{S:20} %{buildroot}%{_unitdir}/%{name}.service +%if 0%{?has_systemd} +%{__install} -D -m0644 %{S:20} %{buildroot}%{_unitdir}/%{name}.service # And remove sysvinit script installed by boinc -rm -r %{buildroot}/%{_initrddir} +%{__rm} -r %{buildroot}/%{_initrddir} %else %{__install} -Dm0755 %{S:10} %{buildroot}%{_initrddir}/%{name} %{__install} -dm0755 %{buildroot}%{_sbindir} @@ -365,10 +389,9 @@ rm -r %{buildroot}/%{_initrddir} # Install *.desktop File %suse_update_desktop_file -i boinc-gui Utility -# Remove libtool archives -%{__rm} %{buildroot}%{_libdir}/*.la -# Remove static libraries -%{__rm} %{buildroot}%{_libdir}/*.a +# Remove static libraries, libtool archives +%{__rm} %{buildroot}%{_libdir}/*.{a,la} + # Relinking Manpages %{__ln_s} -f boincmgr.1.gz %{buildroot}%{_mandir}/man1/boinc-manager.1.gz %{__ln_s} -f boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz @@ -377,9 +400,6 @@ rm -r %{buildroot}/%{_initrddir} # Fix spurious-executable-perm %{__chmod} 0644 doc/*.php -# Don't pick INSTALL file in %doc macro - - # Install fake /var/lib/boinc %{__install} -dm0755 %{buildroot}%{_var}/lib/boinc @@ -400,16 +420,19 @@ if [ -f %{_sysconfdir}/sysconfig/%{name} ]; then mv -f %{_sysconfdir}/sysconfig/%{name} %{_sysconfdir}/sysconfig/%{name}.save fi fi +%if 0%{?has_systemd} +%service_add_pre %{name}.service +%endif %preun -%if 0%{?suse_version} >=1230 +%if 0%{?has_systemd} %service_del_preun %{name}.service %else %stop_on_removal %{name} %endif %post -%if 0%{?suse_version} >=1230 +%if 0%{?has_systemd} %service_add_post %{name}.service %else %fillup_and_insserv %{name} @@ -417,8 +440,8 @@ fi %{_sbindir}/usermod -c "BOINC Client" -s /sbin/nologin boinc 2>/dev/null || : %postun -%if 0%{?suse_version} >=1230 -%service_del_postun +%if 0%{?has_systemd} +%service_del_postun %{name}.service %else %restart_on_update %{name} %insserv_cleanup @@ -446,22 +469,23 @@ fi %files %defattr(-,root,root,-) -%doc COPYING* COPYRIGHT notes todo TODO_OLD README.SUSE +%doc COPYING* COPYRIGHT notes todo README.SUSE %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %config(noreplace) %{_sysconfdir}/bash_completion.d/* -%if 0%{?suse_version} >=1230 -%{_unitdir}/%{name}.service -%else -/var/adm/fillup-templates/sysconfig.%{name} -%{_sbindir}/rc%{name} -%{_initrddir}/%{name} -%endif %{_bindir}/boinc %{_bindir}/%{name} %{_bindir}/boinccmd +%{_bindir}/boincscr %{_bindir}/switcher %{_mandir}/man1/boinccmd.1.gz %{_mandir}/man1/boinc.1.gz +%if 0%{?has_systemd} +%{_unitdir}/%{name}.service +%else +%{_sbindir}/rc%{name} +%{_initrddir}/%{name} +/var/adm/fillup-templates/sysconfig.%{name} +%endif %defattr(-,boinc,boinc,-) %{_localstatedir}/lib/boinc/ diff --git a/boinc-configure.patch b/boinc-configure.patch new file mode 100644 index 0000000..0b83522 --- /dev/null +++ b/boinc-configure.patch @@ -0,0 +1,20 @@ +Index: configure.ac +=================================================================== +--- configure.ac.orig ++++ configure.ac +@@ -968,7 +968,6 @@ AC_CONFIG_FILES([ + lib/Makefile + locale/Makefile + Makefile +- py/Boinc/version.py + py/Makefile + py/boinc_path_config.py:py/boinc_path_config.py.in + py/setup.py +@@ -990,7 +989,6 @@ AC_CONFIG_FILES([ + packages/solaris/CSW/boincmanager/prototype + test/boinc_path_config.py:py/boinc_path_config.py.in + test/Makefile +- test/version.inc + tools/boinc_path_config.py:py/boinc_path_config.py.in + tools/Makefile + vda/Makefile diff --git a/boinc-docbook2x.patch b/boinc-docbook2x.patch index d95cae2..68a5c1d 100644 --- a/boinc-docbook2x.patch +++ b/boinc-docbook2x.patch @@ -2,7 +2,7 @@ Index: configure.ac =================================================================== --- configure.ac.orig +++ configure.ac -@@ -285,7 +285,7 @@ AC_SUBST([TOP_BUILD_DIR], [`pwd`]) +@@ -297,7 +297,7 @@ AC_SUBST([TOP_BUILD_DIR], [`pwd`]) dnl Check for docbook2x-man, which we use to create the manpages in dnl doc/manpages, and set the conditional HAVE_DOCBOOK2X_MAN to build dnl the manpages only if docbook2x-man is available. diff --git a/boinc-guirpcauth.patch b/boinc-guirpcauth.patch index f29f0aa..92b7b5c 100644 --- a/boinc-guirpcauth.patch +++ b/boinc-guirpcauth.patch @@ -2,17 +2,17 @@ Index: client/gui_rpc_server.cpp =================================================================== --- client/gui_rpc_server.cpp.orig +++ client/gui_rpc_server.cpp -@@ -145,12 +145,7 @@ int GUI_RPC_CONN_SET::get_password() { - // they can cause code to execute as this user. - // So better protect it. - // -- if (g_use_sandbox) { -- // Allow group access so authorized administrator can modify it -- chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP); -- } else { -- chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR); -- } -+ chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP); +@@ -169,12 +169,7 @@ void GUI_RPC_CONN_SET::get_password() { + // they can cause code to execute as this user. + // So better protect it. + // +- if (g_use_sandbox) { +- // Allow group access so authorized administrator can modify it +- chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP); +- } else { +- chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR); +- } ++ chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP); #endif - } - } + } + diff --git a/boinc-init.patch b/boinc-init.patch deleted file mode 100644 index 059337c..0000000 --- a/boinc-init.patch +++ /dev/null @@ -1,89 +0,0 @@ -Index: client/scripts/boinc-client.in -=================================================================== ---- client/scripts/boinc-client.in.orig -+++ client/scripts/boinc-client.in -@@ -19,14 +19,16 @@ - # For more information about BOINC (the Berkeley Open Infrastructure - # for Network Computing) see http://boinc.berkeley.edu - # processname: boinc --# config: /etc/sysconfig/boinc -+# config: /etc/sysconfig/boinc-client - # - ### BEGIN INIT INFO --# Provides: boinc --# Required-Start: $network --# Required-Stop: $network --# Default-Start: 3 4 5 --# Default-Stop: 0 1 2 6 -+# Provides: boinc-client -+# Required-Start: $network $remote_fs -+# Should-Start: $time -+# Required-Stop: $network $remote_fs -+# Should-Stop: $time -+# Default-Start: 3 5 -+# Default-Stop: 0 1 2 6 - # Short-Description: This script monitors the BOINC client. - # Description: This script starts the local BOINC client as a daemon - # For more information about BOINC (the Berkeley Open Infrastructure -@@ -117,6 +119,10 @@ fi - # - BOINCUSER=boinc - -+# Name of group to run as: -+# -+BOINCUSER=boinc -+ - # Working directory. Could be /home/boinc, /var/lib/boinc, etc.. - # The reason I prefer /var/lib/boinc is that this works best for a - # cluster of computers where /home/anything might be shared between machines -@@ -128,7 +134,7 @@ BOINCDIR=/var/lib/boinc - # but I like to rename it and put it in a public place. - # (Hint: move boincmgr to /usr/local/bin too so anyone can easily use it). - # --BOINCEXE_NAME=boinc_client -+BOINCEXE_NAME=boinc-client - BOINCEXE=${bindir}/${BOINCEXE_NAME} - BOINCCMD_NAME=boinccmd - BOINCCMD=${bindir}/${BOINCCMD_NAME} -@@ -161,9 +167,7 @@ BOINCOPTS= - # Subsys lock file ... - - # If there is the subsys directory, then use it ... --if [ -d /var/lock/subsys/ ]; then -- LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME} --elif [ -d /var/lock ]; then -+if [ -d /var/lock ]; then - LOCKFILE=/var/lock/${BOINCEXE_NAME} - elif [ -d /var/run ]; then - LOCKFILE=/var/run/${BOINCEXE_NAME}.lock -@@ -178,8 +182,8 @@ export TERM=dumb - # but if the functions are not found we create our own simple replacements. - # (The idea for replacing the functions comes from OpenAFS. Thanks guys!) - --if [ -f /etc/rc.d/init.d/functions ] ; then -- . /etc/rc.d/init.d/functions -+if [ -f /etc/init.d/functions ] ; then -+ . /etc/init.d/functions - else - if printf "Hello" >/dev/null 2>/dev/null ; then - # printf works -@@ -279,7 +283,7 @@ if [ ! -d $BOINCDIR ]; then - echo -n "Creating $BOINCDIR " - if mkdir -p $BOINCDIR 2>/dev/null ; then - if [ -n "$BOINCUSER" ] ; then -- if chown $BOINCUSER $BOINCDIR ; then -+ if chown $BOINCUSER $BOINCGROUP $BOINCDIR ; then - echo_success - else - echo_failure -@@ -329,8 +333,8 @@ if [ "${USERNOW}" = "${BOINCUSER}" ] ; t - exit 8 - fi - elif [ "${USERNOW}" = "root" ] ; then -- cmd="if test -O ${BOINCDIR} ; then echo success ; fi" -- if [ -z `su $BOINCUSER -c "$cmd"` ]; then -+ # cmd="if test -O ${BOINCDIR} ; then echo success ; fi" -+ # if [ -z `su $BOINCUSER -c "$cmd"` ]; then - echo -n ERROR: $BOINCDIR is not owned by $BOINCUSER. - echo_failure - echo diff --git a/boinc_core_release-7_0_36.tar.bz2 b/boinc_core_release-7_0_36.tar.bz2 deleted file mode 100644 index 1df9bc4..0000000 --- a/boinc_core_release-7_0_36.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:061700382a0bdedb182e501f8ce51d5e84831a010bdc322c03820cc5bab0291e -size 39793308 From 747fc3c60cb387e245d2b6e1c85d233d4d8758d72e19ec450ed5746489455e9e Mon Sep 17 00:00:00 2001 From: Christian Wittmer Date: Wed, 26 Mar 2014 22:35:37 +0000 Subject: [PATCH 2/6] Accepting request 227672 from home:computersalat:devel:network some RPMLINT fixes OBS-URL: https://build.opensuse.org/request/show/227672 OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=35 --- boinc-client.changes | 9 +++++++++ boinc-client.spec | 4 +++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/boinc-client.changes b/boinc-client.changes index ceeaaad..5c8540a 100644 --- a/boinc-client.changes +++ b/boinc-client.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Wed Mar 26 22:34:18 UTC 2014 - chris@computersalat.de + +- some RPMLINT fixes + * fix License: remove ',' + * non-standard-gid /var/lib/boinc boinc + * SR #227671 to rpmlint +- fix deps for libxcb + ------------------------------------------------------------------- Tue Mar 18 15:21:19 UTC 2014 - chris@computersalat.de diff --git a/boinc-client.spec b/boinc-client.spec index ee015a1..b16a8c1 100644 --- a/boinc-client.spec +++ b/boinc-client.spec @@ -30,7 +30,7 @@ Name: boinc-client Version: 7.2.42 Release: 0 Summary: The BOINC client -License: GPL-3.0+, LGPL-3.0+ +License: GPL-3.0+ or LGPL-3.0+ Group: Productivity/Clustering/Computing Url: http://boinc.berkeley.edu/ #Source0: boinc_core_release_%{version_}.tar.bz2 @@ -115,6 +115,8 @@ BuildRequires: libXScrnSaver-devel BuildRequires: libXi-devel BuildRequires: libxcb-devel BuildRequires: xcb-util-devel +%else +BuildRequires: xorg-x11-libxcb-devel %endif BuildRequires: gcc-c++ BuildRequires: gcc-fortran From 6c6423086ed29163789e51c9c7f881977884d891dfba2dca1aa8545253523655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Tue, 17 Jun 2014 13:14:55 +0000 Subject: [PATCH 3/6] - Remove unused patch: * boinc-completion.patch - Remove comments with unused patches - Remove conditionals with inits as we don't build for such release anyway - Provide rcboinc symlink for easier usage. OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=36 --- boinc-client.changes | 10 ++ boinc-client.init | 216 ----------------------------------------- boinc-client.spec | 84 +--------------- boinc-completion.patch | 13 --- 4 files changed, 15 insertions(+), 308 deletions(-) delete mode 100644 boinc-client.init delete mode 100644 boinc-completion.patch diff --git a/boinc-client.changes b/boinc-client.changes index 5c8540a..665dd04 100644 --- a/boinc-client.changes +++ b/boinc-client.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Jun 17 13:13:14 UTC 2014 - tchvatal@suse.com + +- Remove unused patch: + * boinc-completion.patch +- Remove comments with unused patches +- Remove conditionals with inits as we don't build for such release + anyway +- Provide rcboinc symlink for easier usage. + ------------------------------------------------------------------- Wed Mar 26 22:34:18 UTC 2014 - chris@computersalat.de diff --git a/boinc-client.init b/boinc-client.init deleted file mode 100644 index db437e9..0000000 --- a/boinc-client.init +++ /dev/null @@ -1,216 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012 Scorpio IT, Deidesheim, Germany -# All rights reserved -# -# Author: Christian Wittmer -# -# /etc/init.d/boinc-client -# and its symbolic link -# /(usr/)sbin/rcboinc-client -# -### BEGIN INIT INFO -# Provides: boinc-client -# Required-Start: $syslog $network $remote_fs -# Should-Start: $time -# Required-Stop: $syslog $network $remote_fs -# Should-Stop: $time -# Default-Start: 3 5 -# Default-Stop: 0 1 2 6 -# Short-Description: BOINC daemon providing boinc-client -# Description: Start BOINC client -# For more information about BOINC (the Berkeley Open Infrastructure -# for Network Computing) see http://boinc.berkeley.edu -### END INIT INFO -# - -# Note on runlevels: -# 0 - halt/poweroff 6 - reboot -# 1 - single user 2 - multiuser without network exported -# 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm) -# -# Note on script names: -# http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html -# A registry has been set up to manage the init script namespace. -# http://www.lanana.org/ -# Please use the names already registered or register one or use a -# vendor prefix. - - -# Check for missing binaries (stale symlinks should not happen) -# Note: Special treatment of stop for LSB conformance -BOINC_BIN=/usr/bin/boinc-client -test -x $BOINC_BIN || { echo "$BOINC_BIN not installed"; - if [ "$1" = "stop" ]; then exit 0; - else exit 5; fi; } - -# Check for existence of needed config file and read it -BOINC_CONFIG=/etc/sysconfig/boinc-client -test -r $BOINC_CONFIG || { echo "$BOINC_CONFIG not existing"; - if [ "$1" = "stop" ]; then exit 0; - else exit 6; fi; } - -# Read config -. $BOINC_CONFIG - -# some other VARS -BOINC_SVC="BOINC Client" - -BOINCCMD_BIN="/usr/bin/boinccmd" -BOINC_LOG="/var/log/boinc-client.log" -BOINC_ERRLOG="/var/log/boinc-client.err.log" -BOINC_PIDFILE="/var/run/boinc-client.pid" -BOINC_LOCKFILE="/var/run/boinc-client.lock" - -BOINC_USR=${BOINC_BOINC_USR:="boinc"} -BOINC_GRP=${BOINC_BOINC_GRP:="boinc"} -BOINC_DIR=${BOINC_BOINC_DIR:="/var/lib/boinc"} -BOINC_OPTS=${BOINC_BOINC_OPTS:=""} - -# Source LSB init functions -# providing start_daemon, killproc, pidofproc, -# log_success_msg, log_failure_msg and log_warning_msg. -# This is currently not used by UnitedLinux based distributions and -# not needed for init scripts for UnitedLinux only. If it is used, -# the functions from rc.status should not be sourced or used. -#. /lib/lsb/init-functions - -# Shell functions sourced from /etc/rc.status: -# rc_check check and set local and overall rc status -# rc_status check and set local and overall rc status -# rc_status -v be verbose in local rc status and clear it afterwards -# rc_status -v -r ditto and clear both the local and overall rc status -# rc_status -s display "skipped" and exit with status 3 -# rc_status -u display "unused" and exit with status 3 -# rc_failed set local and overall rc status to failed -# rc_failed set local and overall rc status to -# rc_reset clear both the local and overall rc status -# rc_exit exit appropriate to overall rc status -# rc_active checks whether a service is activated by symlinks -. /etc/rc.status - -# Reset status of this service -rc_reset - -# Return values acc. to LSB for all commands but status: -# 0 - success -# 1 - generic or unspecified error -# 2 - invalid or excess argument(s) -# 3 - unimplemented feature (e.g. "reload") -# 4 - user had insufficient privileges -# 5 - program is not installed -# 6 - program is not configured -# 7 - program is not running -# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) -# -# Note that starting an already running service, stopping -# or restarting a not-running service as well as the restart -# with force-reload (in case signaling is not supported) are -# considered a success. - -case "$1" in - start) - echo -n "Starting ${BOINC_SVC} " - ## Start daemon with startproc(8). If this fails - ## the return value is set appropriately by startproc. - /sbin/startproc -u $BOINC_USR -g $BOINC_GRP -l $BOINC_LOG -s $BOINC_BIN --dir $BOINC_DIR $BOINC_OPTS - - # Remember status and be verbose - rc_status -v - ;; - stop) - echo -n "Shutting down ${BOINC_SVC} " - ## Stop daemon with killproc(8) and if this fails - ## killproc sets the return value according to LSB. - - /sbin/killproc $BOINC_BIN - - # Remember status and be verbose - rc_status -v - ;; - try-restart|condrestart) - ## Do a restart only if the service was active before. - ## Note: try-restart is now part of LSB (as of 1.9). - ## RH has a similar command named condrestart. - if test "$1" = "condrestart"; then - echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" - fi - $0 status - if test $? = 0; then - $0 restart - else - rc_reset # Not running is not a failure. - fi - # Remember status and be quiet - rc_status - ;; - restart) - ## Stop the service and regardless of whether it was - ## running or not, start it again. - $0 stop - $0 start - - # Remember status and be quiet - rc_status - ;; - force-reload) - ## Signal the daemon to reload its config. Most daemons - ## do this on signal 1 (SIGHUP). - ## If it does not support it, restart the service if it - ## is running. - - echo -n "Reload service ${BOINC_SVC} " - ## if it supports it: - #/sbin/killproc -HUP $BOINC_BIN - #touch /var/run/$BOINC_PIDFILE - - # Remember status and be verbose - #rc_status -v - - ## Otherwise: - $0 try-restart - # Remember status and be quiet - rc_status - ;; - reload) - ## Like force-reload, but if daemon does not support - ## signaling, do nothing (!) - - # If it supports signaling: - echo -n "Reload service ${BOINC_SVC} " - #/sbin/killproc -HUP $BOINC_BIN - #touch /var/run/FOO.pid - # Remember status and be verbose - #rc_status -v - - - ## Otherwise if it does not support reload: - rc_failed 3 - # Remember status and be verbose - rc_status -v - ;; - status) - echo -n "Checking for service ${BOINC_SVC} " - ## Check status with checkproc(8), if process is running - ## checkproc will return with exit status 0. - - # Return value is slightly different for the status command: - # 0 - service up and running - # 1 - service dead, but /var/run/ pid file exists - # 2 - service dead, but /var/lock/ lock file exists - # 3 - service not running (unused) - # 4 - service status unknown :-( - # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.) - - # NOTE: checkproc returns LSB compliant status values. - /sbin/checkproc $BOINC_BIN - # NOTE: rc_status knows that we called this init script with - # "status" option and adapts its messages accordingly. - rc_status -v - ;; - *) - echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}" - exit 1 - ;; -esac -rc_exit diff --git a/boinc-client.spec b/boinc-client.spec index b16a8c1..c215181 100644 --- a/boinc-client.spec +++ b/boinc-client.spec @@ -19,9 +19,7 @@ # Global definitions %define _use_internal_dependency_generator 0 -%if 0%{?suse_version} >= 1140 %define __find_requires %wx_requires -%endif #define version_ 6_12_43 %define soname 7 %define boinc_dir %{_localstatedir}/lib/boinc @@ -44,7 +42,6 @@ Url: http://boinc.berkeley.edu/ # # git archive -v --format=tar --prefix=boinc-7.2.42/ \ # client_release/7.2/7.2.42 | bzip2 >../boinc-7.2.42.tar.bz2 - Source0: boinc-%{version}.tar.bz2 Source1: boinc-icons.tar.bz2 Source2: boinc-gui.desktop @@ -59,57 +56,35 @@ Source6: boinc-manager # # Trim all binaries and other unnecessary things. Source8: generate-tarball.sh -Source10: %{name}.init Source20: %{name}.service Source100: %{name}-rpmlintrc - # PATCH-FIX-OPENSUSE boinc-guirpcauth.patch # Create password file rw for group, this enables passwordless connection # of manager from users of the boinc group. # This won't be probably upstreamed as it might be unsafe for common usage # without setting proper group ownership of the password file. Patch0: boinc-guirpcauth.patch -# PATCH-FIX-OPENSUSE boinc-init.patch -#Patch1: boinc-init.patch # PATCH-FIX-OPENSUSE boinc-LC_MESSAGES.patch Patch2: boinc-LC_MESSAGES.patch -# PATCH-FIX-OPENSUSE boinc-completion.patch -# patch disabled: fix for bnc#779335 -#Patch3: boinc-completion.patch # PATCH-FIX-OPENSUSE boinc-docbook2x.patch Patch4: boinc-docbook2x.patch -# PATCH-FIX-OPENSUSE pth@suse.de use asprintf to fix buffer overflow -#Patch5: boinc-client-dynamic_buffers.patch -# PATCH-FIX-OPENSUSE computersalat - #error "Only can be included directly. -#Patch6: %{name}-glib_h.patch # PATCH-FIX-OPENSUSE coolo - #error: am__fastdepOBJCXX does not appear in AM_CONDITIONAL Patch7: %{name}-AM_CONDITIONAL.patch # PATCH-FIX-OPENSUSE computersalat - error: # configure.ac:898: required file `test/version.inc.in' not found # configure.ac:898: required file `py/Boinc/version.py.in' not found Patch8: boinc-configure.patch -# BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires(pre): pwdutils -%if 0%{?suse_version} >= 1210 BuildRequires: systemd %{?systemd_requires} -%define has_systemd 1 -%else -Requires(pre): %insserv_prereq -Requires(pre): %fillup_prereq -%endif - BuildRequires: Mesa-devel -#BuildRequires: autoconf -#BuildRequires: automake BuildRequires: docbook2x BuildRequires: docbook_4 -BuildRequires: update-desktop-files -#BuildRequires: fcgi-devel BuildRequires: fdupes BuildRequires: freeglut-devel +BuildRequires: update-desktop-files %if 0%{?suse_version} >= 1310 BuildRequires: libXScrnSaver-devel BuildRequires: libXi-devel @@ -121,28 +96,19 @@ BuildRequires: xorg-x11-libxcb-devel BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: gettext-runtime -#BuildRequires: gnutls-devel BuildRequires: libcurl-devel >= 7.17.1 BuildRequires: libjpeg-devel BuildRequires: libnotify-devel BuildRequires: libtool BuildRequires: libxslt -#BuildRequires: m4 -#BuildRequires: make BuildRequires: mysql-devel BuildRequires: openssl-devel -#BuildRequires: patch BuildRequires: pkg-config BuildRequires: pwdutils BuildRequires: python-mysql BuildRequires: sqlite3-devel -BuildRequires: xorg-x11-libXmu-devel -%if 0%{?suse_version} <= 1130 -BuildRequires: wxGTK-devel >= 2.6.0 -%else BuildRequires: wxWidgets-devel >= 2.8.0 -%endif - +BuildRequires: xorg-x11-libXmu-devel Requires: cron Requires: logrotate ### FIXME: @@ -206,9 +172,7 @@ in which all information and all control elements are available. %package doc Summary: Documentation files for %{name} Group: Documentation/Other -%if 0%{?suse_version} >= 1120 BuildArch: noarch -%endif %description doc This package contains documentation files for %{name}. @@ -217,15 +181,9 @@ This package contains documentation files for %{name}. #setup -q -n boinc_core_release_%{version_} -D -a 1 %setup -q -n boinc-%{version} -D -a 1 %patch0 -#patch1 %patch2 -#patch3 %patch4 -#patch5 -%if 0%{?suse_version} >= 1220 -#patch6 %patch7 -%endif %patch8 # Install user hints @@ -304,13 +262,8 @@ sed -i 's/\r//' clientgui/DlgItemProperties.cpp # hence we jump into clientgui and build it manually pushd clientgui %{__make} libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \ -%if 0%{?suse_version} >= 1210 CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \ CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \ -%else - CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \ - CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \ -%endif DESTDIR=%{_prefix} %{?_smp_mflags} popd pushd locale @@ -355,19 +308,12 @@ popd # Remove /etc/sysconfig/boinc-client, it is added by %%fillup_and_insserv %{__rm} -f %{buildroot}%{_sysconfdir}/sysconfig/%{name} -# Install init and create symlink to /etc/init.d/boinc-client -%if 0%{?has_systemd} +# Install init and create symlink for rcboinc %{__install} -D -m0644 %{S:20} %{buildroot}%{_unitdir}/%{name}.service +mkdir -p %{buildroot}%{_sbindir} +ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} # And remove sysvinit script installed by boinc %{__rm} -r %{buildroot}/%{_initrddir} -%else -%{__install} -Dm0755 %{S:10} %{buildroot}%{_initrddir}/%{name} -%{__install} -dm0755 %{buildroot}%{_sbindir} -/bin/ln -sf %{_sysconfdir}/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name} - -# Install template for sysconfig -%{__install} -Dm0644 %{S:4} %{buildroot}/var/adm/fillup-templates/sysconfig.%{name} -%endif # Install logrotate %{__install} -Dm0644 %{S:5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} @@ -422,32 +368,17 @@ if [ -f %{_sysconfdir}/sysconfig/%{name} ]; then mv -f %{_sysconfdir}/sysconfig/%{name} %{_sysconfdir}/sysconfig/%{name}.save fi fi -%if 0%{?has_systemd} %service_add_pre %{name}.service -%endif %preun -%if 0%{?has_systemd} %service_del_preun %{name}.service -%else -%stop_on_removal %{name} -%endif %post -%if 0%{?has_systemd} %service_add_post %{name}.service -%else -%fillup_and_insserv %{name} -%endif %{_sbindir}/usermod -c "BOINC Client" -s /sbin/nologin boinc 2>/dev/null || : %postun -%if 0%{?has_systemd} %service_del_postun %{name}.service -%else -%restart_on_update %{name} -%insserv_cleanup -%endif %post -n boinc-manager /usr/bin/touch --no-create %{_datadir}/icons/hicolor || : @@ -481,13 +412,8 @@ fi %{_bindir}/switcher %{_mandir}/man1/boinccmd.1.gz %{_mandir}/man1/boinc.1.gz -%if 0%{?has_systemd} %{_unitdir}/%{name}.service -%else %{_sbindir}/rc%{name} -%{_initrddir}/%{name} -/var/adm/fillup-templates/sysconfig.%{name} -%endif %defattr(-,boinc,boinc,-) %{_localstatedir}/lib/boinc/ diff --git a/boinc-completion.patch b/boinc-completion.patch deleted file mode 100644 index ba96b1e..0000000 --- a/boinc-completion.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: client/scripts/boinc.bash -=================================================================== ---- client/scripts/boinc.bash.orig -+++ client/scripts/boinc.bash -@@ -36,7 +36,7 @@ _boinc() - return 0 - fi - } --complete -F _boinc -o default boinc -+complete -F _boinc -o default-boinc - - _boinccmd() - { From 299b4fff43625c1061837bd8a9a747301b8f1b11bac5b9645bff05ef782c1895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Tue, 17 Jun 2014 13:30:54 +0000 Subject: [PATCH 4/6] - Cleanup with spec-cleaner for better readability - Move lang packages from Requires to Recommends OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=37 --- boinc-client.changes | 6 ++ boinc-client.spec | 146 +++++++++++++++++++++---------------------- 2 files changed, 79 insertions(+), 73 deletions(-) diff --git a/boinc-client.changes b/boinc-client.changes index 665dd04..291734b 100644 --- a/boinc-client.changes +++ b/boinc-client.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jun 17 13:30:10 UTC 2014 - tchvatal@suse.com + +- Cleanup with spec-cleaner for better readability +- Move lang packages from Requires to Recommends + ------------------------------------------------------------------- Tue Jun 17 13:13:14 UTC 2014 - tchvatal@suse.com diff --git a/boinc-client.spec b/boinc-client.spec index c215181..c3c83b6 100644 --- a/boinc-client.spec +++ b/boinc-client.spec @@ -19,11 +19,10 @@ # Global definitions %define _use_internal_dependency_generator 0 -%define __find_requires %wx_requires +%define __find_requires %{wx_requires} #define version_ 6_12_43 %define soname 7 %define boinc_dir %{_localstatedir}/lib/boinc - Name: boinc-client Version: 7.2.42 Release: 0 @@ -43,7 +42,7 @@ Url: http://boinc.berkeley.edu/ # git archive -v --format=tar --prefix=boinc-7.2.42/ \ # client_release/7.2/7.2.42 | bzip2 >../boinc-7.2.42.tar.bz2 Source0: boinc-%{version}.tar.bz2 -Source1: boinc-icons.tar.bz2 +Source1: boinc-icons.tar.bz2 Source2: boinc-gui.desktop Source3: README.SUSE Source4: sysconfig.%{name} @@ -74,25 +73,11 @@ Patch7: %{name}-AM_CONDITIONAL.patch # configure.ac:898: required file `test/version.inc.in' not found # configure.ac:898: required file `py/Boinc/version.py.in' not found Patch8: boinc-configure.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build - -Requires(pre): pwdutils -BuildRequires: systemd -%{?systemd_requires} BuildRequires: Mesa-devel BuildRequires: docbook2x BuildRequires: docbook_4 BuildRequires: fdupes BuildRequires: freeglut-devel -BuildRequires: update-desktop-files -%if 0%{?suse_version} >= 1310 -BuildRequires: libXScrnSaver-devel -BuildRequires: libXi-devel -BuildRequires: libxcb-devel -BuildRequires: xcb-util-devel -%else -BuildRequires: xorg-x11-libxcb-devel -%endif BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: gettext-runtime @@ -107,16 +92,29 @@ BuildRequires: pkg-config BuildRequires: pwdutils BuildRequires: python-mysql BuildRequires: sqlite3-devel +BuildRequires: systemd +BuildRequires: update-desktop-files BuildRequires: wxWidgets-devel >= 2.8.0 BuildRequires: xorg-x11-libXmu-devel Requires: cron -Requires: logrotate ### FIXME: ## updating boinc-client or boinc-manager does not update libboinc6 ## hence we define this dependency ## !! Do not remove this dependency !! Requires: libboinc%{soname} = %{version}-%{release} - +Recommends: boinc-client-lang = %{version} +Requires: logrotate +Requires(pre): pwdutils +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%{?systemd_requires} +%if 0%{?suse_version} >= 1310 +BuildRequires: libXScrnSaver-devel +BuildRequires: libXi-devel +BuildRequires: libxcb-devel +BuildRequires: xcb-util-devel +%else +BuildRequires: xorg-x11-libxcb-devel +%endif %lang_package %lang_package -n boinc-manager @@ -138,7 +136,7 @@ of scientific and mathematical research. %package -n boinc-manager Summary: GUI to control and monitor boinc-client Group: Productivity/Scientific/Astronomy -Requires: boinc-manager-lang = %{version}-%{release} +Recommends: boinc-manager-lang = %{version} Requires: hicolor-icon-theme %description -n boinc-manager @@ -187,21 +185,21 @@ This package contains documentation files for %{name}. %patch8 # Install user hints -%{__install} -m0644 %{S:3} README.SUSE +install -m0644 %{SOURCE3} README.SUSE # Fix lang directories (refer patch2) -%{__mv} locale/pt_PT locale/pt -%{__mv} locale/sv_SE locale/sv +mv locale/pt_PT locale/pt +mv locale/sv_SE locale/sv # fix warning: deprecated conversion from string constant to 'char*' pushd clientgui/common/ -%{__sed} -i 's/static char/static const char/g' wxFlatNotebookImages.h +sed -i 's/static char/static const char/g' wxFlatNotebookImages.h popd pushd clientgui/res/ -%{__sed} -i 's/static char/static const char/g' *.xpm +sed -i 's/static char/static const char/g' *.xpm popd pushd clientgui/res/skins/default/graphic/ -%{__sed} -i 's/static char/static const char/g' *.xpm +sed -i 's/static char/static const char/g' *.xpm popd # fix utf8 @@ -225,14 +223,14 @@ sed -i 's/\r//' clientgui/DlgItemProperties.cpp ## remove files with questionable licenses # removing NVIDIA owned file that does not clearly allow redistribution or # modification -%{__rm} coprocs/NVIDIA/include/nvapi.h +rm coprocs/NVIDIA/include/nvapi.h # removing unnecessary APSL licensed files -%{__rm} client/app_stats_mac.cpp +rm client/app_stats_mac.cpp %build #remove run libtoolize and ./_autosetup -/usr/bin/libtoolize --force -./_autosetup +%{_bindir}/libtoolize --force +./_autosetup %configure \ --disable-static \ @@ -244,12 +242,12 @@ sed -i 's/\r//' clientgui/DlgItemProperties.cpp --with-x # Disable rpaths -%{__sed} -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool -%{__sed} -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -# Export Path and make -%{__make} clean -%{__make} libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \ +# Export Path and make +make clean %{?_smp_mflags} +make libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \ CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \ CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \ DESTDIR=%{_prefix} %{?_smp_mflags} @@ -261,95 +259,95 @@ sed -i 's/\r//' clientgui/DlgItemProperties.cpp # # hence we jump into clientgui and build it manually pushd clientgui -%{__make} libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \ +make libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \ CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \ CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \ DESTDIR=%{_prefix} %{?_smp_mflags} popd pushd locale -%{__make} +make %{?_smp_mflags} popd %install -%{makeinstall} +make DESTDIR=%{buildroot} install %{?_smp_mflags} for i in clientgui locale; do pushd $i -%{makeinstall} + make DESTDIR=%{buildroot} install %{?_smp_mflags} popd done # Creates default folders -%{__install} -dm0755 %{buildroot}%{boinc_dir} -%{__install} -dm0755 %{buildroot}%{_mandir}/man1 +install -dm0755 %{buildroot}%{boinc_dir} +install -dm0755 %{buildroot}%{_mandir}/man1 # Remove old boinc & rename boinc_client to boinc-client -%{__rm} -f %{buildroot}%{_bindir}/boinc -%{__mv} -f %{buildroot}%{_bindir}/boinc_client %{buildroot}%{_bindir}/%{name} +rm -f %{buildroot}%{_bindir}/boinc +mv -f %{buildroot}%{_bindir}/boinc_client %{buildroot}%{_bindir}/%{name} # Rename boincmgr and wrap it -%{__mv} %{buildroot}%{_bindir}/boincmgr %{buildroot}%{_bindir}/boinc-gui +mv %{buildroot}%{_bindir}/boincmgr %{buildroot}%{_bindir}/boinc-gui # Install boinc-manager wrapper script -%{__install} -Dm0755 %{S:6} %{buildroot}%{_bindir}/boinc-manager +install -Dm0755 %{SOURCE6} %{buildroot}%{_bindir}/boinc-manager # Use symlink instead of hardlink pushd %{buildroot}%{_bindir} -%{__ln_s} -f %{name} boinc -%{__ln_s} -f boinc-manager boincmgr -%{__ln_s} -f boinc-manager boincmanager +ln -s -f %{name} boinc +ln -s -f boinc-manager boincmgr +ln -s -f boinc-manager boincmanager popd # replace @boinc_dir@, @bindir@ -%{__sed} -i \ +sed -i \ -e "s,@boinc_dir@,%{boinc_dir},g" \ -e "s,@bindir@,%{_bindir},g" \ %{buildroot}%{_bindir}/boinc-manager # Remove /etc/sysconfig/boinc-client, it is added by %%fillup_and_insserv -%{__rm} -f %{buildroot}%{_sysconfdir}/sysconfig/%{name} +rm -f %{buildroot}%{_sysconfdir}/sysconfig/%{name} # Install init and create symlink for rcboinc -%{__install} -D -m0644 %{S:20} %{buildroot}%{_unitdir}/%{name}.service +install -D -m0644 %{SOURCE20} %{buildroot}%{_unitdir}/%{name}.service mkdir -p %{buildroot}%{_sbindir} ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} # And remove sysvinit script installed by boinc -%{__rm} -r %{buildroot}/%{_initrddir} +rm -r %{buildroot}/%{_initddir} # Install logrotate -%{__install} -Dm0644 %{S:5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} +install -Dm0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} # Install bash completion -%{__install} -Dpm0644 client/scripts/boinc.bash %{buildroot}%{_sysconfdir}/bash_completion.d/boinc +install -Dpm0644 client/scripts/boinc.bash %{buildroot}%{_sysconfdir}/bash_completion.d/boinc -# Install desktop-file and icons -%{__install} -Dm0644 boinc-gui-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/boinc-gui.png -%{__install} -Dm0644 boinc-gui-64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/boinc-gui.png -%{__install} -Dm0644 boinc-gui-48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boinc-gui.png -%{__install} -Dm0644 boinc-gui-32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boinc-gui.png -%{__install} -Dm0644 boinc-gui-22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/boinc-gui.png -%{__install} -Dm0644 boinc-gui-16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boinc-gui.png +# Install desktop-file and icons +install -Dm0644 boinc-gui-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/boinc-gui.png +install -Dm0644 boinc-gui-64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/boinc-gui.png +install -Dm0644 boinc-gui-48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boinc-gui.png +install -Dm0644 boinc-gui-32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boinc-gui.png +install -Dm0644 boinc-gui-22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/boinc-gui.png +install -Dm0644 boinc-gui-16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boinc-gui.png # install icons -%{__install} -m0644 clientgui/res/boincmgr.16x16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boincmanager.png -%{__install} -m0644 clientgui/res/boincmgr.32x32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boincmanager.png -%{__install} -m0644 clientgui/res/boincmgr.48x48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boincmanager.png +install -m0644 clientgui/res/boincmgr.16x16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boincmanager.png +install -m0644 clientgui/res/boincmgr.32x32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boincmanager.png +install -m0644 clientgui/res/boincmgr.48x48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boincmanager.png # Install *.desktop File %suse_update_desktop_file -i boinc-gui Utility # Remove static libraries, libtool archives -%{__rm} %{buildroot}%{_libdir}/*.{a,la} +rm %{buildroot}%{_libdir}/*.{a,la} # Relinking Manpages -%{__ln_s} -f boincmgr.1.gz %{buildroot}%{_mandir}/man1/boinc-manager.1.gz -%{__ln_s} -f boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz -%{__ln_s} -f boinc.1.gz %{buildroot}%{_mandir}/man1/boinc.1.gz +ln -s -f boincmgr.1.gz %{buildroot}%{_mandir}/man1/boinc-manager.1.gz +ln -s -f boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz +ln -s -f boinc.1.gz %{buildroot}%{_mandir}/man1/boinc.1.gz # Fix spurious-executable-perm -%{__chmod} 0644 doc/*.php +chmod 0644 doc/*.php # Install fake /var/lib/boinc -%{__install} -dm0755 %{buildroot}%{_var}/lib/boinc +install -dm0755 %{buildroot}%{_var}/lib/boinc # Prepare $LANG Packages %find_lang BOINC-Client @@ -364,7 +362,7 @@ ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} %{_sbindir}/useradd -c "BOINC Client" -d "%{_localstatedir}/lib/boinc" \ -g boinc -r -s /sbin/nologin boinc 2>/dev/null || : if [ -f %{_sysconfdir}/sysconfig/%{name} ]; then - if [ "$(grep "BOINC_BOINC_USR" /etc/sysconfig/boinc-client | grep -v grep >/dev/null; echo $?)" == 1 ]; then + if [ "$(grep "BOINC_BOINC_USR" %{_sysconfdir}/sysconfig/boinc-client | grep -v grep >/dev/null; echo $?)" == 1 ]; then mv -f %{_sysconfdir}/sysconfig/%{name} %{_sysconfdir}/sysconfig/%{name}.save fi fi @@ -381,13 +379,13 @@ fi %service_del_postun %{name}.service %post -n boinc-manager -/usr/bin/touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/touch --no-create %{_datadir}/icons/hicolor || : if [ -x %{_bindir}/gtk-update-icon-cache ]; then %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : fi %postun -n boinc-manager -/usr/bin/touch --no-create %{_datadir}/icons/hicolor || : +%{_bindir}/touch --no-create %{_datadir}/icons/hicolor || : if [ -x %{_bindir}/gtk-update-icon-cache ]; then %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : fi @@ -434,8 +432,10 @@ fi %{_mandir}/man1/boinc-manager.1.gz %files -n %{name}-lang -f BOINC-Client.lang +%defattr(-,root,root) %files -n boinc-manager-lang -f BOINC-Manager.lang +%defattr(-,root,root) %files -n libboinc%{soname} %defattr(-,root,root,-) From f4e2d60c4c93dabbd4cb705bbff760e6411c5b4508680356d9a948efe57c54bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Tue, 17 Jun 2014 13:40:07 +0000 Subject: [PATCH 5/6] - Remove needless rpmlintrc lines to ease error spotting when there really are some. OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=38 --- boinc-client-rpmlintrc | 7 ------- boinc-client.changes | 6 ++++++ boinc-client.spec | 5 +---- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/boinc-client-rpmlintrc b/boinc-client-rpmlintrc index af5430d..8d16c2a 100644 --- a/boinc-client-rpmlintrc +++ b/boinc-client-rpmlintrc @@ -1,8 +1 @@ -# This line is mandatory to access the configuration functions -from Config import * - -addFilter("suse-branding-unversioned-requires hicolor-icon-theme") -addFilter("non-standard-uid") -addFilter("libdir-macro-in-noarch-package") addFilter("no-manual-page-for-binary") -addFilter("macro-in-comment") diff --git a/boinc-client.changes b/boinc-client.changes index 291734b..1a581bc 100644 --- a/boinc-client.changes +++ b/boinc-client.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jun 17 13:39:32 UTC 2014 - tchvatal@suse.com + +- Remove needless rpmlintrc lines to ease error spotting when there + really are some. + ------------------------------------------------------------------- Tue Jun 17 13:30:10 UTC 2014 - tchvatal@suse.com diff --git a/boinc-client.spec b/boinc-client.spec index c3c83b6..428f480 100644 --- a/boinc-client.spec +++ b/boinc-client.spec @@ -20,7 +20,6 @@ # Global definitions %define _use_internal_dependency_generator 0 %define __find_requires %{wx_requires} -#define version_ 6_12_43 %define soname 7 %define boinc_dir %{_localstatedir}/lib/boinc Name: boinc-client @@ -30,7 +29,6 @@ Summary: The BOINC client License: GPL-3.0+ or LGPL-3.0+ Group: Productivity/Clustering/Computing Url: http://boinc.berkeley.edu/ -#Source0: boinc_core_release_%{version_}.tar.bz2 # There is no real tarball, hence I did # # git clone git://boinc.berkeley.edu/boinc.git @@ -51,7 +49,7 @@ Source6: boinc-manager # The source for this package was pulled from upstream's vcs. Use the # following commands to generate the tarball: # -# ./generate-tarball.sh boinc_core_release_%{version_} +# ./generate-tarball.sh boinc_core_release_VERSION # # Trim all binaries and other unnecessary things. Source8: generate-tarball.sh @@ -176,7 +174,6 @@ BuildArch: noarch This package contains documentation files for %{name}. %prep -#setup -q -n boinc_core_release_%{version_} -D -a 1 %setup -q -n boinc-%{version} -D -a 1 %patch0 %patch2 From 426b648978902da69a5980aee82c85764b11e26f5fe9e1a29ebd0257d8a4d40b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Mon, 23 Jun 2014 14:27:06 +0000 Subject: [PATCH 6/6] * boinc-client-7.0.36-AM_CONDITIONAL.patch * boinc-client-7.0.36-dynamic_buffers.patch OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=39 --- boinc-client.changes | 2 ++ 1 file changed, 2 insertions(+) diff --git a/boinc-client.changes b/boinc-client.changes index 1a581bc..f621f4e 100644 --- a/boinc-client.changes +++ b/boinc-client.changes @@ -47,6 +47,8 @@ Sun Mar 16 22:23:48 UTC 2014 - chris@computersalat.de - removed obsolete patches: * boinc-client-dynamic_buffers.patch * boinc-init.patch + * boinc-client-7.0.36-AM_CONDITIONAL.patch + * boinc-client-7.0.36-dynamic_buffers.patch - rebased patches: * boinc-LC_MESSAGES.patch * boinc-client-AM_CONDITIONAL.patch