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 bugzilla.redhat.com.
Bug 193957 - Review Request: nant
Summary: Review Request: nant
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: John Mahowald
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On:
Blocks: FE-ACCEPT 189092
TreeView+ depends on / blocked
 
Reported: 2006-06-03 11:28 UTC by Paul F. Johnson
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-07-21 10:08:08 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Paul F. Johnson 2006-06-03 11:28:23 UTC
Spec URL: http://www.smmp.salford.ac.uk/packages/nant.spec
SRPM URL: http://www.smmp.salford.ac.uk/packages/nant-0.85-1.src.rpm
Description: 

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: http://www.smmp.salford.ac.uk/packages/nant.spec
SRPM URL: http://www.smmp.salford.ac.uk/packages/nant-0.85-2.src.rpm

Fixed a couple of problems in the spec file

Comment 2 Paul F. Johnson 2006-06-04 13:38:15 UTC
Spec URL: http://www.knox.net.nz/~nodoid/nant.spec
SRPM URL: http://www.knox.net.nz/~nodoid/nant-0.85-2.src.rpm

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: http://www.knox.net.nz/~nodoid/nant.spec
SRPM URL: http://www.knox.net.nz/~nodoid/nant-0.85-2.src.rpm

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
this.

Comment 5 Paul F. Johnson 2006-06-07 10:12:34 UTC
http://www.knox.net.nz/~nodoid/nant-0.85-3.src.rpm

D'oh!

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. http://fedoraproject.org/wiki/Packaging/Mono   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:
http://fedorared.org/~john/review/nant-0.85-4.src.rpm

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: http://www.knox.net.nz/~nodoid/nant.spec
SRPM URL: http://www.knox.net.nz/~nodoid/nant-0.85-4.src.rpm

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.

nant-0.85-4.src.rpm

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


rpmlint:
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
Ignore.

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
Ignore.

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: http://www.knox.net.nz/~nodoid/nant.spec
SRPM URL: http://www.knox.net.nz/~nodoid/nant-0.85-5.src.rpm

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.

APPROVED

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 @@
 %install
 rm -rf %{buildroot}
 %makeinstall
-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/bin/nant:exec
/usr/lib64/pkgconfig/../../bin/mono
/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.




Note You need to log in before you can comment on or make changes to this bug.