%{?nodejs_find_provides_and_requires}
Name: nodejs-inherits
Version: 2.0.0
Release: 4%{?dist}
Summary: A tiny simple way to do classic inheritance in js
License: WTFPL
Group: Development/Libraries
URL: https://github.com/isaacs/inherits
Source0: http://registry.npmjs.org/inherits/-/inherits-%{version}.tgz
Source1: https://raw.github.com/isaacs/inherits/112807f2670160b6e3bafdf39e395c10ae7d0fac/LICENSE
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
ExclusiveArch: %{nodejs_arches} noarch
BuildRequires: nodejs-devel
%description
%{summary}.
%prep
%setup -q -n package
#copy the license into %%{_builddir} so it works with %%doc
cp -p %{SOURCE1} LICENSE
%build
#nothing to do
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{nodejs_sitelib}/inherits@2
cp -pr inherits.js package.json %{buildroot}%{nodejs_sitelib}/inherits@2
%nodejs_symlink_deps
ln -sf inherits@2 %{buildroot}%{nodejs_sitelib}/inherits
%clean
rm -rf %{buildroot}
# there have been reports that the symlinks are messed up when upgrading
# from older versions, so let's make sure everything's copacetic
%triggerun -- nodejs-inherits < 2.0.0-4
ln -sf inherits@2 %{nodejs_sitelib}/inherits
%{__python} <<EOF
import json, os, sys
for moddir in os.listdir('%{nodejs_sitelib}'):
if os.path.isdir(moddir):
md = json.load(open(os.path.join(moddir, 'package.json')))
if 'dependencies' in md and 'inherits' in md['dependencies']:
if isinstance(md['dependencies'], dict) and '1' in md['dependencies']['inherits']:
src = os.path.join('%{nodejs_sitelib}', 'inherits@1')
else:
src = os.path.join('%{nodejs_sitelib}', 'inherits@2')
dest = os.path.join('%{nodejs_sitelib}', moddir, 'node_modules/inherits')
if not os.path.realpath(dest) == src:
try:
os.unlink(dest)
except OSError:
pass
try:
os.symlink(src, dest)
except OSError, e:
sys.stderr.write(e + '\n')
EOF
# rpm blows up if you try to replace a dir with a symlink or vice-versa
%pretrans -p <lua>
if posix.stat("%{nodejs_sitelib}/inherits", "type") == "directory" then
os.rename('%{nodejs_sitelib}/inherits', '%{nodejs_sitelib}/inherits@2')
end
%files
%defattr(-,root,root,-)
%{nodejs_sitelib}/inherits@2
%{nodejs_sitelib}/inherits
%doc README.md LICENSE
%changelog
* Fri Aug 16 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 2.0.0-4
- add some post-install hackery to work around potential RPM bug resulting in
symlinks still pointing to their old locations on upgrade (RHBZ#997978)
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sat Jul 06 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 2.0.0-3
- only run the hack when we really need to
* Sat Jul 06 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 2.0.0-2
- use lua for pretrans
* Sun Jun 23 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 2.0.0-1
- new upstream release 2.0.0
- include license file
- follow the mutiple version spec
* Sun Jun 23 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1.0.0-9
- restrict to compatible arches
* Mon Apr 15 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1.0.0-8
- add macro for EPEL6 dependency generation
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Jan 08 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1.0.0-6
- add missing build section
* Thu Jan 03 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1.0.0-5
- correct license tag (thanks to Robin Lee)
* Mon Dec 31 2012 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1.0.0-4
- clean up for submission
* Fri Apr 27 2012 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1.0.0-3
- guard Requires for F17 automatic depedency generation
* Sat Feb 11 2012 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1.0.0-2
- switch to automatically generated provides/requires
* Sat Jan 21 2012 T.C. Hollingsworth <tchollingsworth@gmail.com> - 1.0.0-1
- initial package