Blame SPECS/nodejs010.spec

30582b
%global scl_name_base nodejs
30582b
%global scl_name_version 010
30582b
 
30582b
%global scl %{scl_name_base}%{scl_name_version}
30582b
30582b
%scl_package %scl
30582b
%global install_scl 1
30582b
30582b
# do not produce empty debuginfo package
30582b
%global debug_package %{nil}
30582b
30582b
Summary: %scl Software Collection
30582b
Name: %scl_name
30582b
Version: 1.1
30582b
Release: 26%{?dist}
30582b
30582b
Source1: macros.nodejs
30582b
Source2: nodejs.attr
30582b
Source3: nodejs.prov
30582b
Source4: nodejs.req
30582b
Source5: nodejs-symlink-deps
30582b
Source6: nodejs-fixdep
30582b
Source7: nodejs_native.attr
30582b
Source8: README
30582b
Source9: LICENSE
30582b
Source10: multiver_modules
30582b
30582b
License: MIT
30582b
30582b
%if 0%{?install_scl}
30582b
Requires: %{scl_prefix}nodejs
30582b
Requires: %{scl_prefix}npm
30582b
Requires: %{scl_prefix}runtime
30582b
%endif
30582b
30582b
BuildRequires: scl-utils-build
30582b
BuildRequires: python-devel
30582b
BuildRequires: help2man
30582b
30582b
%description
30582b
This is the main package for %scl Software Collection.
30582b
30582b
%package runtime
30582b
Summary: Package that handles %scl Software Collection.
30582b
Requires: scl-utils >= 20120927-8
30582b
30582b
%description runtime
30582b
Package shipping essential scripts to work with %scl Software Collection.
30582b
30582b
%package build
30582b
Summary: Package shipping basic build configuration
30582b
Requires: scl-utils-build
30582b
30582b
%description build
30582b
Package shipping essential configuration macros to build %scl Software Collection.
30582b
30582b
%package scldevel
30582b
Summary: Package shipping development files for %scl
30582b
 
30582b
%description scldevel
30582b
Package shipping development files, especially usefull for development of
30582b
packages depending on %scl Software Collection.
30582b
30582b
%prep
30582b
%setup -c -T
30582b
30582b
# This section generates README file from a template and creates man page
30582b
# from that file, expanding RPM macros in the template file.
30582b
cat >README <<'EOF'
30582b
%{expand:%(cat %{SOURCE8})}
30582b
EOF
30582b
30582b
# copy the license file so %%files section sees it
30582b
cp %{SOURCE9} .
30582b
30582b
%build
30582b
# generate a helper script that will be used by help2man
30582b
cat >h2m_helper <<'EOF'
30582b
#!/bin/bash
30582b
[ "$1" == "--version" ] && echo "%{scl_name} %{version} Software Collection" || cat README
30582b
EOF
30582b
30582b
chmod a+x h2m_helper
30582b
30582b
# generate the man page
30582b
help2man -N --section 7 ./h2m_helper -o %{scl_name}.7
30582b
30582b
%install
30582b
rm -rf %{buildroot}
30582b
mkdir -p %{buildroot}%{_scl_scripts}/root
30582b
cat >> %{buildroot}%{_scl_scripts}/enable << EOF
30582b
export PATH=%{_bindir}\${PATH:+:\${PATH}}
30582b
export LD_LIBRARY_PATH=%{_libdir}\${LD_LIBRARY_PATH:+:\${LD_LIBRARY_PATH}}
30582b
export PYTHONPATH=%{_scl_root}%{python_sitelib}\${PYTHONPATH:+:\${PYTHONPATH}}
30582b
export MANPATH=%{_mandir}:\$MANPATH
30582b
. scl_source enable v8314
30582b
EOF
30582b
30582b
# install rpm magic
30582b
install -Dpm0644 %{SOURCE1} %{buildroot}%{_root_sysconfdir}/rpm/macros.%{name}
30582b
install -Dpm0644 %{SOURCE2} %{buildroot}%{_rpmconfigdir}/fileattrs/%{name}.attr
30582b
install -pm0755 %{SOURCE3} %{buildroot}%{_rpmconfigdir}/%{name}.prov
30582b
install -pm0755 %{SOURCE4} %{buildroot}%{_rpmconfigdir}/%{name}.req
30582b
install -pm0755 %{SOURCE5} %{buildroot}%{_rpmconfigdir}/%{name}-symlink-deps
30582b
install -pm0755 %{SOURCE6} %{buildroot}%{_rpmconfigdir}/%{name}-fixdep
30582b
install -Dpm0644 %{SOURCE7} %{buildroot}%{_rpmconfigdir}/fileattrs/%{name}_native.attr
30582b
install -Dpm0644 %{SOURCE10} %{buildroot}%{_datadir}/node/multiver_modules
30582b
30582b
cat >> %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl_name_base}-scldevel << EOF
30582b
%%scl_%{scl_name_base} %{scl}
30582b
%%scl_prefix_%{scl_name_base} %{scl_prefix}
30582b
EOF
30582b
30582b
# ensure Requires are added to every native module that match the Provides from
30582b
# the nodejs build in the buildroot
30582b
cat << EOF > %{buildroot}%{_rpmconfigdir}/%{name}_native.req
30582b
#!/bin/sh
30582b
echo 'nodejs010-nodejs(abi) = %nodejs_abi'
30582b
echo 'nodejs010-nodejs(v8-abi) = %v8_abi'
30582b
EOF
30582b
chmod 0755 %{buildroot}%{_rpmconfigdir}/%{name}_native.req
30582b
30582b
cat << EOF > %{buildroot}%{_rpmconfigdir}/%{name}-require.sh
30582b
#!/bin/sh
30582b
%{_rpmconfigdir}/%{name}.req $*
30582b
%{_rpmconfigdir}/find-requires $*
30582b
EOF
30582b
chmod 0755 %{buildroot}%{_rpmconfigdir}/%{name}-require.sh
30582b
30582b
cat << EOF > %{buildroot}%{_rpmconfigdir}/%{name}-provide.sh
30582b
#!/bin/sh
30582b
%{_rpmconfigdir}/%{name}.prov $*
30582b
%{_rpmconfigdir}/find-provides $*
30582b
EOF
30582b
chmod 0755 %{buildroot}%{_rpmconfigdir}/%{name}-provide.sh
30582b
30582b
%scl_install
30582b
# scl doesn't include this directory
30582b
mkdir -p %{buildroot}%{_scl_root}%{python_sitelib}
30582b
mkdir -p %{buildroot}%{_libdir}/pkgconfig
30582b
30582b
# install generated man page
30582b
mkdir -p %{buildroot}%{_mandir}/man7/
30582b
install -m 644 %{scl_name}.7 %{buildroot}%{_mandir}/man7/%{scl_name}.7
30582b
30582b
%files
30582b
30582b
%files -f filesystem runtime
30582b
%doc README LICENSE
30582b
%scl_files
30582b
%dir %{_scl_root}%{python_sitelib}
30582b
%dir %{_libdir}/pkgconfig
30582b
%{_datadir}/node/multiver_modules
30582b
%{_mandir}/man7/%{scl_name}.*
30582b
30582b
%files build
30582b
%{_root_sysconfdir}/rpm/macros.%{scl}-config
30582b
%{_root_sysconfdir}/rpm/macros.%{name}
30582b
%{_rpmconfigdir}/fileattrs/%{name}*.attr
30582b
%{_rpmconfigdir}/%{name}*
30582b
30582b
%files scldevel
30582b
%{_root_sysconfdir}/rpm/macros.%{scl_name_base}-scldevel
30582b
30582b
%changelog
30582b
* Mon Mar 31 2014 Honza Horak <hhorak@redhat.com> - 1.1-26
30582b
- Fix path typo in README
30582b
  Related: #1061452
30582b
30582b
* Tue Mar 25 2014 Tomas Hrcka <thrcka@redhat.com> - 1.1-25
30582b
- Fix ownership of man pages
30582b
30582b
* Mon Feb 17 2014 Tomas Hrcka <thrcka@redhat.com> - 1.1-24
30582b
- Require version of scl-utils 
30582b
30582b
* Wed Feb 12 2014 Tomas Hrcka <thrcka@redhat.com> - 1.1-23
30582b
- Define scl_name_base and scl_name_version macros 
30582b
30582b
* Wed Feb 12 2014 Honza Horak <hhorak@redhat.com> - 1.1-22
30582b
- Some more grammar fixes in README
30582b
  Related: #1061452
30582b
30582b
* Wed Feb 12 2014 Tomas Hrcka <thrcka@redhat.com> - 1.1-21
30582b
- Add nodejs010-scldevel sub package
30582b
30582b
* Tue Feb 11 2014 Tomas Hrcka <thrcka@redhat.com> - 1.1-20
30582b
- Add LICENSE, README and nodejs010.7 man page
30582b
- Minor changes in collection macros nodejs-fixdep,nodejs-symlink-deps
30582b
30582b
* Tue Jan 21 2014 Tomas Hrcka <thrcka@redhat.com> - 1-21
30582b
- Rebuilt for rhbz#1054252
30582b
30582b
* Thu Dec 05 2013 Tomas Hrcka <thrcka@redhat.com> - 1-20
30582b
- install collection packages as dependencies
30582b
30582b
* Wed Nov 27 2013 Tomas Hrcka <thrcka@redhat.com> - 1-19
30582b
- rebuilt
30582b
- fiw v8314 dependency
30582b
30582b
* Wed Nov 20 2013 Tomas Hrcka <thrcka@redhat.com> - 1-18
30582b
- added dependency on v8314 scl
30582b
30582b
* Thu Aug 15 2013 thrcka@redhat.com - 1-17
30582b
- clean up after previous fix
30582b
30582b
* Fri Aug 09 2013 thrcka@redhat.com - 1-16
30582b
- RHBZ#993425 - nodejs010.req fails when !noarch 
30582b
30582b
* Mon Jun 03 2013 thrcka@redhat.com - 1-15
30582b
- Changed licence to MIT
30582b
30582b
* Thu May 23 2013 Tomas Hrcka <thrcka@redhat.com> - 1-14.1
30582b
- fixed typo in MANPATH
30582b
30582b
* Thu May 23 2013 Tomas Hrcka <thrcka@redhat.com> - 1-14
30582b
- Changed MAN_PATH so it does not ignore man pages from host system
30582b
30582b
* Thu May  9 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-13
30582b
- Remove colons forgotten in scriplets
30582b
30582b
* Tue May 07 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-12
30582b
- Add runtime dependency on scl-runtime
30582b
30582b
* Mon May 06 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-11
30582b
- Add pkgconfig file ownership
30582b
30582b
* Mon May 06 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-10
30582b
- Workaround scl-utils not generating all directory ownerships (#956213)
30582b
30582b
* Mon May 06 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-9
30582b
- Fix enable scriptlet evironment expansion (#956788)
30582b
30582b
* Wed Apr 17 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-8
30582b
- Extend MANPATH env variable
30582b
- Add npm to meta package requires
30582b
30582b
* Mon Apr 15 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-7
30582b
- Update macros and requires/provides generator to latest
30582b
30582b
* Wed Apr 10 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-6
30582b
- Fix rpm requires/provides generator paths
30582b
- Add requires to main meta package
30582b
30582b
* Mon Apr 08 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-5
30582b
- Make package architecture specific for libdir usage
30582b
30582b
* Mon Apr 08 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-4
30582b
- Add rpm macros and tooling
30582b
30582b
* Mon Apr 08 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-3
30582b
- Add proper scl-utils-build requires
30582b
30582b
* Fri Apr 05 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-2
30582b
- Add PYTHONPATH to configuration
30582b
30582b
* Tue Mar 26 2013 Stanislav Ochotnicky <sochotnicky@redhat.com> - 1-1
30582b
- Initial version of the Node.js Software Collection