Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at

Bug 193957

Summary: Review Request: nant
Product: [Fedora] Fedora Reporter: Paul F. Johnson <paul>
Component: Package ReviewAssignee: John Mahowald <jpmahowald>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: hdegoede, toshio
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-07-21 10:08:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 163779, 189092    

Description Paul F. Johnson 2006-06-03 11:28:23 UTC
Spec URL:

NAnt is a free .NET build tool which works in a very similar way to ant

This release is built using the 0.85.rc4 source tarball

Comment 1 Paul F. Johnson 2006-06-03 23:29:43 UTC
Spec URL:

Fixed a couple of problems in the spec file

Comment 2 Paul F. Johnson 2006-06-04 13:38:15 UTC
Spec URL:

Change of URL

Comment 3 Toshio Kuratomi 2006-06-07 03:57:18 UTC
* You should split out a -docs subpackage.
* The binaries are currently being installed in /usr/share which is plainly wrong.

Comment 4 Paul F. Johnson 2006-06-07 10:11:39 UTC
Spec URL:

docs subpackage created
debuginfo package removed (empty)

As to the /usr/share, that is where nant installs itself to by default with the
make install with a symlink to %bindir. I'll need to think about how best to do

Comment 5 Paul F. Johnson 2006-06-07 10:12:34 UTC


Comment 6 Paul F. Johnson 2006-06-07 14:37:13 UTC
I'm going to refer this upstream - the package is correct in where it's putting
things - they just happen to be in the wrong place!

Comment 7 Toshio Kuratomi 2006-06-07 15:09:34 UTC
After sleeping on this, I'm not certain datadir is definitely wrong.  Java puts
jar files into /usr/share.  I believe PEs are portable to different
architectures but I'm not certain.  I'm going to ask on fedora-devel or
fedora-maintainers to see whether Core packagers have reached a concensus on
where mono apps should go.

Comment 8 Toshio Kuratomi 2006-06-07 16:56:14 UTC
Talked with caillon via IRC who says that all of /usr/lib/mono should move to
/usr/share/mono at some point.  So %{_datadir} nant would appear to be doing the
right thing and will be followd by the rest of mono at some point.

Comment 9 Paul F. Johnson 2006-06-08 08:08:37 UTC
I'm not sure on the advisability of moving all of the mono stuff to %{_datadir},
but I will carry on watching upstream and see what happens, though I can't see
there being much enthusiasm for such a change.

Comment 10 John Mahowald 2006-07-08 21:58:09 UTC
Mono packaging guidelines say to put in arch dependent, however, basically
%_libdir.   In this case it seems
to be portable but since we have to allow for native compilation it's going into
arch dependent.

My attempt at forcing %_libdir:

Note the hack to substiute in %_lib. It does make this self-building thing
install to /usr/lib64 on x86_64, however.

Comment 11 Paul F. Johnson 2006-07-08 22:55:04 UTC
Spec URL:

Tested and looking good. I've built boo against it and that seems happy.

Comment 12 John Mahowald 2006-07-08 23:10:13 UTC
Almost there.


On nant-docs:
* Missing dependancy on scrollkeeper-update for %post (package scrollkeeper)
* Missing dependancy on scrollkeeper-update for %postun (package scrollkeeper)

W: nant non-standard-group Development/Other
Suggest Development/Tools

W: nant strange-permission nant-0.85-rc4-src.tar.gz 0666
W: nant strange-permission nant.spec 0666

E: nant non-utf8-spec-file nant.spec
file says nant.spec: ISO-8859 Java program text. Save as utf8.

W: nant rpm-buildroot-usage %build export MONO_PATH=%{buildroot}/lib
E: nant hardcoded-library-path in %{buildroot}/lib
Needed, as far as I can tell. Ignore.

E: nant no-binary

E: nant only-non-binary-in-usr-lib
Assemblies and such. Ignore.

W: nant wrong-file-end-of-line-encoding /usr/share/doc/nant-0.85/license.html
W: nant wrong-file-end-of-line-encoding /usr/share/doc/nant-0.85/COPYING.txt
W: nant wrong-file-end-of-line-encoding /usr/share/doc/nant-0.85/README.txt
W: nant wrong-file-end-of-line-encoding /usr/share/doc/nant-0.85/releasenotes.html

And everything from nant-docs has wrong-file-end-of-line-encoding. Optionally
fix these.

- package meets naming guidelines
- package meets packaging guidelines
- license (GPL) OK, text in %doc, matches source
- spec file legible, in am. english
- source matches upstream
- package compiles on devel (x86_64)
- no missing BR
- no unnecessary BR
- no locales
- not relocatable
- owns all directories that it creates
- no duplicate files
- permissions ok
- %clean ok
- macro use consistent
- code, not content
-  -docs package
- nothing in %doc affects runtime
- no need for .desktop file 

Comment 13 Paul F. Johnson 2006-07-09 00:09:43 UTC
Spec URL:

All of the fixes as required in #12

Comment 14 John Mahowald 2006-07-09 21:41:05 UTC
You can also optionally fix the end of line on every other file in the package.


Comment 15 Paul F. Johnson 2006-07-09 21:50:06 UTC
Thanks :-)

Comment 16 Thomas Moschny 2006-07-19 12:58:28 UTC
A small problem with nant-0.85-5.src.rpm rebuilt on fc5: /usr/bin/nant tries to
call /var/tmp/nant-0.85-5fc5-root-user/usr/lib/NAnt/bin/NAnt.exe.

This small patch fixes it:

--- nant.spec.orig    2006-07-09 02:06:41.000000000 +0200
+++ nant.spec     2006-07-19 14:57:55.000000000 +0200
@@ -46,7 +46,7 @@
 rm -rf %{buildroot}
-sed -i -e "s#%buildroot##" %buildroot%_bindir/%name
+sed -i -e "s#%{buildroot}##" %{buildroot}%{_bindir}/%{name}
 find examples -name \*.dll -o -name \*.exe|xargs rm -f
 rm -rf %{buildroot}%{_datadir}/NAnt/doc

Comment 17 Ville Skyttä 2006-07-19 15:41:46 UTC
(In reply to comment #16)
> A small problem with nant-0.85-5.src.rpm rebuilt on fc5: /usr/bin/nant tries
> to call /var/tmp/nant-0.85-5fc5-root-user/usr/lib/NAnt/bin/NAnt.exe.

That's not a small problem, it's an arbitrary command execution vulnerability. 
Please install fedora-rpmdevtools and add check-buildroot and friends to your
~/.rpmmacros (eg. using fedora-buildrpmtree), it catches errors like this:

+ /usr/lib/rpm/check-buildroot
/var/tmp/nant-0.85-5-buildroot-scop/usr/lib64/NAnt/bin/NAnt.exe "$@"
Found '/var/tmp/nant-0.85-5-buildroot-scop' in installed files; aborting
error: Bad exit status from /var/tmp/rpm-tmp.42428 (%install)

The same problem is in the package released in devel.  Filed as bug 199432.

Comment 18 Jason Tibbitts 2006-07-19 15:52:20 UTC
How can I get check-buildroot to run within mock?

Comment 19 Paul F. Johnson 2006-07-19 19:30:22 UTC
Thanks. I'll check onto the cause and patch it up.