Hello community,

here is the log from the commit of package bitcoin for openSUSE:Factory checked 
in at 2015-11-12 19:41:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bitcoin (Old)
 and      /work/SRC/openSUSE:Factory/.bitcoin.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "bitcoin"

Changes:
--------
--- /work/SRC/openSUSE:Factory/bitcoin/bitcoin.changes  2015-11-02 
12:55:18.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.bitcoin.new/bitcoin.changes     2015-11-12 
19:41:50.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Nov 12 02:32:41 UTC 2015 - [email protected]
+
+- Refactor spec to allow for easy building of altcoins.
+  * drop bitcoin-fix-desktop-icon-name.patch
+
+-------------------------------------------------------------------

Old:
----
  bitcoin-fix-desktop-icon-name.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ bitcoin.spec ++++++
--- /var/tmp/diff_new_pack.Q8zepR/_old  2015-11-12 19:41:51.000000000 +0100
+++ /var/tmp/diff_new_pack.Q8zepR/_new  2015-11-12 19:41:51.000000000 +0100
@@ -17,20 +17,25 @@
 #
 
 
+# typical altcoin changes: name, name_pretty, consensus 0, is_base 0
+%define base bitcoin
+%define base_pretty Bitcoin
+%define name_pretty %{base_pretty}
+%define consensus 1
+%define is_base 1
+
 Name:           bitcoin
 Version:        0.11.1
 Release:        0
 Summary:        P2P Digital Currency
 License:        MIT
 Group:          Productivity/Networking/Other
-Url:            http://www.bitcoin.org
-Source:         https://github.com/%{name}/%{name}/archive/v%{version}.tar.gz
-Source1:        bitcoind.service
-Source2:        bitcoind.firewall
-Source3:        bitcoind.conf
-# PATCH-FIX-OPENSUSE bitcoin-fix-desktop-icon-name.patch [email protected] 
-- Rename icon in desktop file to remove size reference.
-Patch0:         bitcoin-fix-desktop-icon-name.patch
-Patch1:         bitcoin_missing_ppc64le_in_ax_boost_base.m4.patch
+Url:            http://%{name}.org/
+Source0:        https://github.com/%{name}/%{name}/archive/v%{version}.tar.gz
+Source1:        %{base}d.service
+Source2:        %{base}d.firewall
+Source3:        %{base}d.conf
+Patch1:         %{base}_missing_ppc64le_in_ax_boost_base.m4.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  boost-devel
@@ -56,81 +61,84 @@
 %{?systemd_requires}
 
 %description
-Bitcoin is a free open source peer-to-peer electronic cash system that is 
completely decentralized, without the need for a central server or trusted 
parties. Users hold the crypto keys to their own money and transact directly 
with each other, with the help of a P2P network to check for double-spending.
+%{name_pretty} is a free open source peer-to-peer electronic cash system that 
is completely decentralized, without the need for a central server or trusted 
parties. Users hold the crypto keys to their own money and transact directly 
with each other, with the help of a P2P network to check for double-spending.
 
 Full transaction history is stored locally at each client. This requires 
several GB of space, slowly growing.
 
 %package qt5
-Summary:        An end-user Qt5 GUI for the Bitcoin crypto-currency
+Summary:        An end-user Qt5 GUI for the %{name_pretty} crypto-currency
 Group:          Development/Libraries/Other
 Provides:       %{name} = %{version}
 Obsoletes:      %{name} < %{version}
 
 %description qt5
-Bitcoin is a free open source peer-to-peer electronic cash system that is 
completely decentralized, without the need for a central server or trusted 
parties. Users hold the crypto keys to their own money and transact directly 
with each other, with the help of a P2P network to check for double-spending.
+%{name_pretty} is a free open source peer-to-peer electronic cash system that 
is completely decentralized, without the need for a central server or trusted 
parties. Users hold the crypto keys to their own money and transact directly 
with each other, with the help of a P2P network to check for double-spending.
 
 Full transaction history is stored locally at each client. This requires 
several GB of space, slowly growing.
 
-This package provides Bitcoin-Qt, a GUI for Bitcoin based on Qt.
+This package provides %{name_pretty}-Qt, a GUI for %{name_pretty} based on Qt.
 
 %package utils
-Summary:        An end-user cli for the Bitcoin crypto-currency
+Summary:        An end-user cli for the %{name_pretty} crypto-currency
 Group:          Productivity/Networking/Other
 Provides:       %{name}-cli = %{version}
 Obsoletes:      %{name}-cli < %{version}
 
 %description utils
-Bitcoin is a free open source peer-to-peer electronic cash system that is 
completely decentralized, without the need for a central server or trusted 
parties. Users hold the crypto keys to their own money and transact directly 
with each other, with the help of a P2P network to check for double-spending.
+%{name_pretty} is a free open source peer-to-peer electronic cash system that 
is completely decentralized, without the need for a central server or trusted 
parties. Users hold the crypto keys to their own money and transact directly 
with each other, with the help of a P2P network to check for double-spending.
 
 Full transaction history is stored locally at each client. This requires 
several GB of space, slowly growing.
 
-This package provides bitcoin-cli - CLI tool to interact with the daemon.
+This package provides %{name}-cli - CLI tool to interact with the daemon.
 
+%if %{consensus} == 1
 %package -n lib%{name}consensus0
-Summary:        Bitcoin consensus library
+Summary:        %{name_pretty} consensus library
 Group:          System/Library
 
 %description -n lib%{name}consensus0
-The purpose of this library is to make the verification functionality that is 
critical to Bitcoin’s consensus available to other applications, e.g. to 
language bindings such as python-bitcoinlib or alternative node implementations.
+The purpose of this library is to make the verification functionality that is 
critical to %{name_pretty}’s consensus available to other applications, e.g. to 
language bindings such as python-%{name}lib or alternative node implementations.
 
 %package -n lib%{name}consensus-devel
-Summary:        Developmont files for bitcoin consensus library
+Summary:        Developmont files for %{name} consensus library
 Group:          Development/Languages/C and C++
 Requires:       lib%{name}consensus0 = %{version}
 
 %description -n lib%{name}consensus-devel
-The purpose of this library is to make the verification functionality that is 
critical to Bitcoin’s consensus available to other applications, e.g. to 
language bindings such as python-bitcoinlib or alternative node implementations.
+The purpose of this library is to make the verification functionality that is 
critical to %{name_pretty}’s consensus available to other applications, e.g. to 
language bindings such as python-%{name}lib or alternative node implementations.
 
 This package contains development files.
+%endif
 
-%package -n bitcoind
-Summary:        Headless daemon for Bitcoin crypto-currency
+%package -n %{name}d
+Summary:        Headless daemon for %{name_pretty} crypto-currency
 Group:          Development/Libraries/Other
-Requires(pre):  shadow
 
-%description -n bitcoind
-Bitcoin is a free open source peer-to-peer electronic cash system that is 
completely decentralized, without the need for a central server or trusted 
parties. Users hold the crypto keys to their own money and transact directly 
with each other, with the help of a P2P network to check for double-spending.
+%description -n %{name}d
+%{name_pretty} is a free open source peer-to-peer electronic cash system that 
is completely decentralized, without the need for a central server or trusted 
parties. Users hold the crypto keys to their own money and transact directly 
with each other, with the help of a P2P network to check for double-spending.
 
 Full transaction history is stored locally at each client. This requires 
several GB of space, slowly growing.
 
-This package provides bitcoind, headless bitcoin daemon.
+This package provides %{name}d, headless %{name} daemon.
 
 %package test
-Summary:        Automated tests for bitcoin client
+Summary:        Automated tests for %{name} client
 Group:          Development/Libraries/Other
 
 %description test
-Bitcoin is a free open source peer-to-peer electronic cash system that is 
completely decentralized, without the need for a central server or trusted 
parties. Users hold the crypto keys to their own money and transact directly 
with each other, with the help of a P2P network to check for double-spending.
+%{name_pretty} is a free open source peer-to-peer electronic cash system that 
is completely decentralized, without the need for a central server or trusted 
parties. Users hold the crypto keys to their own money and transact directly 
with each other, with the help of a P2P network to check for double-spending.
 
 Full transaction history is stored locally at each client. This requires 
several GB of space, slowly growing.
 
-This package provides automated tests for bitcoin-qt5 and bitcoind.
+This package provides automated tests for %{name}-qt5 and %{name}d.
 
 %prep
 %setup -q
-%patch0 -p1
 %patch1 -p1
 
+# remove 128 resolution from Icon= line
+sed -i s/128// contrib/debian/%{name}-qt.desktop
+
 %build
 autoreconf -fiv
 export CXXFLAGS="$CXXFLAGS %{optflags} -fPIC"
@@ -141,6 +149,9 @@
        --with-gui=qt5 \
        --with-miniupnpc \
        --with-qrencode \
+%if %{consensus} == 0
+  --without-libs \
+%endif
   --disable-hardening
 
 make %{?_smp_mflags} V=1
@@ -151,25 +162,40 @@
 %install
 make DESTDIR=%{buildroot} install %{?_smp_mflags}
 
-install -D -m 0644 share/pixmaps/bitcoin256.png 
%{buildroot}%{_datadir}/pixmaps/%{name}.png
-install -D -m 0644 contrib/debian/bitcoin-qt.desktop 
%{buildroot}%{_datadir}/applications/%{name}-qt.desktop
+install -D -m 0644 share/pixmaps/%{base}256.png 
%{buildroot}%{_datadir}/pixmaps/%{name}.png
+install -D -m 0644 contrib/debian/%{name}-qt.desktop 
%{buildroot}%{_datadir}/applications/%{name}-qt.desktop
 %suse_update_desktop_file 
%{buildroot}%{_datadir}/applications/%{name}-qt.desktop
-install -D -m 0644 contrib/debian/manpages/bitcoind.1 
%{buildroot}%{_mandir}/man1/bitcoind.1
-install -D -m 0644 contrib/debian/manpages/bitcoin-qt.1 
%{buildroot}%{_mandir}/man1/bitcoin-qt.1
-install -D -m 0644 contrib/debian/manpages/bitcoin.conf.5 
%{buildroot}%{_mandir}/man5/bitcoin.conf.5
-install -D -m 0644 contrib/debian/examples/bitcoin.conf  
%{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
+
+install -D -m 0644 contrib/debian/manpages/%{name}d.1 
%{buildroot}%{_mandir}/man1/%{name}d.1
+install -D -m 0644 contrib/debian/manpages/%{name}-qt.1 
%{buildroot}%{_mandir}/man1/%{name}-qt.1
+install -D -m 0644 contrib/debian/manpages/%{name}.conf.5 
%{buildroot}%{_mandir}/man5/%{name}.conf.5
+install -D -m 0644 contrib/debian/examples/%{name}.conf 
%{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
+
+%if !%{is_base}
+sed -i "s/%{base}/%{name}/g" %{SOURCE1}
+sed -i "s/%{base}/%{name}/g" %{SOURCE2}
+sed -i "s/%{base}/%{name}/g" %{SOURCE3}
+
+sed -i "s/%{base_pretty}/%{name_pretty}/g" %{SOURCE1}
+sed -i "s/%{base_pretty}/%{name_pretty}/g" %{SOURCE2}
+sed -i "s/%{base_pretty}/%{name_pretty}/g" %{SOURCE3}
+%endif
+
 mkdir -p %{buildroot}/%{_localstatedir}/lib/%{name}
 install -d %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/
-install -m 644 %{SOURCE2} 
%{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/bitcoind
+install -m 644 %{SOURCE2} 
%{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}d
+
 mkdir %{buildroot}%{_sbindir}
-ln -sv %{_sbindir}/service %{buildroot}%{_sbindir}/rcbitcoind
-install -D -m 0644 $RPM_SOURCE_DIR/bitcoind.service 
%{buildroot}/%{_unitdir}/bitcoind.service
+ln -sv %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}d
+install -D -m 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}d.service
 install -d -m 0755 %{buildroot}/%{_tmpfilesdir}/
-install -m 0644 %{SOURCE3} %{buildroot}/%{_tmpfilesdir}/bitcoind.conf
+install -m 0644 %{SOURCE3} %{buildroot}/%{_tmpfilesdir}/%{name}d.conf
 
+%if %{consensus} == 1
 # do not ship these
-rm -rf %{buildroot}%{_libdir}/libbitcoinconsensus.a
-rm -rf %{buildroot}%{_libdir}/libbitcoinconsensus.la
+rm -rf %{buildroot}%{_libdir}/lib%{name}consensus.a
+rm -rf %{buildroot}%{_libdir}/lib%{name}consensus.la
+%endif
 
 %post qt5
 %desktop_database_post
@@ -177,35 +203,37 @@
 %postun qt5
 %desktop_database_postun
 
-%pre -n bitcoind
+%pre -n %{name}d
 getent group %{name} >/dev/null || groupadd -r %{name}
-getent passwd %{name} >/dev/null || useradd -r -g %{name} -d 
%{_localstatedir}/lib/%{name} -s /sbin/nologin -c "Bitcoin daemon" %{name}
-%service_add_pre bitcoind.service
+getent passwd %{name} >/dev/null || useradd -r -g %{name} -d 
%{_localstatedir}/lib/%{name} -s /sbin/nologin -c "%{name_pretty} daemon" 
%{name}
+%service_add_pre %{name}d.service
 
-%post -n bitcoind
-%service_add_post bitcoind.service
+%post -n %{name}d
+%service_add_post %{name}d.service
 %if 0%{?suse_version} <= 1320
-systemd-tmpfiles --create %{_tmpfilesdir}/bitcoind.conf >/dev/null 2>&1 || :
+systemd-tmpfiles --create %{_tmpfilesdir}/%{name}d.conf >/dev/null 2>&1 || :
 %else
-%tmpfiles_create %{_tmpfilesdir}/bitcoind.conf
+%tmpfiles_create %{_tmpfilesdir}/%{name}d.conf
 %endif
 
-%preun -n bitcoind
-%service_del_preun bitcoind.service
+%preun -n %{name}d
+%service_del_preun %{name}d.service
 
-%postun -n bitcoind
-%service_del_postun bitcoind.service
+%postun -n %{name}d
+%service_del_postun %{name}d.service
 
+%if %{consensus} == 1
 %post -n lib%{name}consensus0 -p /sbin/ldconfig
 
 %postun -n lib%{name}consensus0  -p /sbin/ldconfig
+%endif
 
 %files qt5
 %defattr(-,root,root)
 %doc COPYING README.md
-%{_bindir}/bitcoin-qt
+%{_bindir}/%{name}-qt
 %{_datadir}/applications/%{name}-qt.desktop
-%{_mandir}/man1/bitcoin-qt.1%{?ext_man}
+%{_mandir}/man1/%{name}-qt.1%{?ext_man}
 %{_datadir}/pixmaps/%{name}.png
 
 %files utils
@@ -214,6 +242,7 @@
 %{_bindir}/%{name}-cli
 %{_bindir}/%{name}-tx
 
+%if %{consensus} == 1
 %files -n lib%{name}consensus0
 %defattr(-,root,root)
 %doc COPYING README.md
@@ -225,25 +254,26 @@
 %{_libdir}/lib%{name}consensus.so
 %{_includedir}/%{name}consensus.h
 %{_libdir}/pkgconfig/lib%{name}consensus.pc
+%endif
 
-%files -n bitcoind
+%files -n %{name}d
 %defattr(-,root,root)
 %doc COPYING README.md
-%{_mandir}/man1/bitcoind.1%{?ext_man}
+%{_mandir}/man1/%{name}d.1%{?ext_man}
 %{_mandir}/man5/%{name}.conf.5%{?ext_man}
-%{_bindir}/bitcoind
+%{_bindir}/%{name}d
 %dir %attr(700,%{name},%{name}) %{_var}/lib/%{name}
 %dir %{_sysconfdir}/%{name}
-%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/bitcoind
+%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}d
 %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
-%{_unitdir}/bitcoind.service
-%{_sbindir}/rcbitcoind
-%{_tmpfilesdir}/bitcoind.conf
+%{_unitdir}/%{name}d.service
+%{_sbindir}/rc%{name}d
+%{_tmpfilesdir}/%{name}d.conf
 
 %files test
 %defattr(-,root,root)
 %doc COPYING README.md
-%{_bindir}/test_bitcoin
-%{_bindir}/test_bitcoin-qt
+%{_bindir}/test_%{name}
+%{_bindir}/test_%{name}-qt
 
 %changelog


Reply via email to