Bug 488563 - Review Request: pure - The Pure programming language
Summary: Review Request: pure - The Pure programming language
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Peter Robinson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 455502
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-03-04 20:32 UTC by Michel Lind
Modified: 2009-10-21 00:53 UTC (History)
5 users (show)

Fixed In Version: 0.35-1.fc10
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-10-21 00:46:29 UTC
Type: ---
Embargoed:
pbrobinson: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Michel Lind 2009-03-04 20:32:41 UTC
Spec URL: http://salimma.fedorapeople.org/specs/funpl/pure.spec
SRPM URL: http://salimma.fedorapeople.org/specs/funpl/pure-0.18a-1.fc11.src.rpm
Description:

Pure is a functional programming language based on term rewriting. It
has a modern syntax featuring curried function applications, lexical
closures and equational definitions with pattern matching, and thus is
somewhat similar to languages of the Haskell and ML variety. But Pure
is also a very dynamic language, and is more like Lisp in this
respect. The interpreter has an LLVM backend to do JIT compilation,
hence programs run blazingly fast and interfacing to C modules is
easy.

Comment 1 Jason Tibbitts 2009-03-13 20:25:38 UTC
This fails to build for me; I get a really large number of errors.  Instead of pasting them, I just did a quick scratch build which shows the problem well: http://koji.fedoraproject.org/koji/taskinfo?taskID=1240609

Comment 2 Michel Lind 2009-03-14 01:22:59 UTC
Ah yes, of course, I need to BR: llvm-devel as well. Will post an updated spec soon; I did the original packaging before the fixed llvm 2.4 (and Rawhide's llvm 2.5) landed so could not use Koji.

Comment 4 Simon 2009-04-12 11:17:10 UTC
@Jason, do you want to take care of this or can I do this job?

Comment 5 Simon 2009-04-27 07:26:00 UTC
-------INFORMAL PREREVIEW pure-------

template: https://fedoraproject.org/wiki/Packaging/ReviewGuidelines

--------------
MUST: rpmlint must be run on every package. The output should be posted in the review.

pure.i386: W: name-repeated-in-summary Pure
The name of the package is repeated in its summary.  This is often redundant
information and looks silly in various programs' output.  Make the summary
brief and to the point without including redundant information in it.

pure.i386: W: no-soname /usr/lib/libpure-0.19.so
pure.i386: E: shlib-with-non-pic-code /usr/lib/libpure-0.19.so
The listed shared libraries contain object code that was compiled without
-fPIC. All object code in shared libraries should be recompiled separately
from the static libraries with the -fPIC option.  Another common mistake that
causes this problem is linking with ``gcc -Wl,-shared'' instead of ``gcc
-shared''.

pure.i386: W: devel-file-in-non-devel-package /usr/include/pure-0.19/runtime.h
A development file (usually source code) is located in a non-devel package. If
you want to include source code in your package, be sure to create a
development package.

pure.src: W: name-repeated-in-summary Pure
The name of the package is repeated in its summary.  This is often redundant
information and looks silly in various programs' output.  Make the summary
brief and to the point without including redundant information in it.

3 packages and 0 specfiles checked; 1 errors, 4 warnings.

https://fedoraproject.org/wiki/Common_Rpmlint_issues#no-soname

--------------
MUST: The package must be named according to the Package Naming Guidelines .
OK

--------------
MUST: The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption.
OK

--------------
MUST: The package must meet the Packaging Guidelines .
FAIL
NO devel-package
NO ldconfig in %post and %postun

--------------
MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines .
OK

--------------
MUST: The License field in the package spec file must match the actual license.
OK

--------------
MUST: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package must be included in %doc.
OK

--------------
MUST: The spec file must be written in American English.
OK

--------------
MUST: The spec file for the package MUST be legible.
OK

--------------
MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. Reviewers should use md5sum for this task. If no upstream URL can be specified for this package, please see the Source URL Guidelines for how to deal with this.
OK
package: e592ef727a8470708e2da480d3bc0546
my dl: e592ef727a8470708e2da480d3bc0546

--------------
MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
OK

--------------
MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch. Each architecture listed in ExcludeArch MUST have a bug filed in bugzilla, describing the reason that the package does not compile/build/work on that architecture. The bug number MUST be placed in a comment, next to the corresponding ExcludeArch line.
N/A

--------------
MUST: All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines ; inclusion of those as BuildRequires is optional. Apply common sense.
OK

--------------
MUST: The spec file MUST handle locales properly. This is done by using the %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden.
N/A

--------------
MUST: Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
FAIL

--------------
MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package. Without this, use of Prefix: /usr is considered a blocker.
OK

--------------
MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory.
OK

--------------
MUST: A Fedora package must not list a file more than once in the spec file's %files listings.
OK

--------------
MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line.
OK

--------------
MUST: Each package must have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
OK

--------------
MUST: Each package must consistently use macros.
OK

--------------
MUST: The package must contain code, or permissable content.
OK

--------------
MUST: Large documentation files must go in a -doc subpackage. (The definition of large is left up to the packager's best judgement, but is not restricted to size. Large can refer to either size or quantity).
OK

--------------
MUST: If a package includes something as %doc, it must not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present.
OK

--------------
MUST: Header files must be in a -devel package.
FAIL

--------------
MUST: Static libraries must be in a -static package.
N/A

--------------
MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' (for directory ownership and usability).
N/A

--------------
MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package.
FAIL

--------------
MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}
FAIL

--------------
MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
OK

--------------
MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section. If you feel that your packaged GUI application does not need a .desktop file, you must put a comment in the spec file with your explanation.
N/A

--------------
MUST: Packages must not own files or directories already owned by other packages. The rule of thumb here is that the first package to be installed should own the files or directories that other packages may rely upon. This means, for example, that no package in Fedora should ever share ownership with any of the files or directories owned by the filesystem or man package. If you feel that you have a good reason to own a file or directory that another package owns, then please present that at package review time.
OK

--------------
MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot} (or $RPM_BUILD_ROOT).
OK

--------------
MUST: All filenames in rpm packages must be valid UTF-8.
OK

--------------
SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it.
N/A

--------------
SHOULD: The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available.
N/A

--------------
SHOULD: The reviewer should test that the package builds in mock.
OK

--------------
SHOULD: The package should compile and build into binary rpms on all supported architectures.
OK

--------------
SHOULD: The reviewer should test that the package functions as described. A package should not segfault instead of running, for example.
N/A

--------------
SHOULD: If scriptlets are used, those scriptlets must be sane. This is vague, and left up to the reviewers judgement to determine sanity. 
FAIL (scriplets are missing)

--------------
SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency.
N/A

--------------
SHOULD: The placement of pkgconfig(.pc) files depends on their usecase, and this is usually for development purposes, so should be placed in a -devel pkg. A reasonable exception is that the main pkg itself is a devel tool not installed in a user runtime, e.g. gcc or gdb
N/A

--------------
SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself.
N/A

--------------
make check failed
--build.log--
+ make check
Running tests.
prelude.pure: FAILED
test001.pure: FAILED
test002.pure: FAILED
test003.pure: FAILED
test004.pure: FAILED
test005.pure: FAILED
test006.pure: FAILED
test007.pure: FAILED
test008.pure: FAILED
test009.pure: FAILED
test010.pure: FAILED
test011.pure: FAILED
test012.pure: FAILED
test013.pure: FAILED
test014.pure: FAILED
test015.pure: FAILED
test016.pure: FAILED
test017.pure: FAILED
test018.pure: FAILED
test019.pure: FAILED
test020.pure: FAILED
test021.pure: FAILED
test022.pure: FAILED
test023.pure: FAILED
test024.pure: FAILED
test025.pure: FAILED
test026.pure: FAILED
test027.pure: FAILED
test028.pure: FAILED
test029.pure: FAILED
test030.pure: FAILED

---------------
macro-conflict

version = mainver
why?
it's confusing that you are using 2 macros in a row like this. They having the same content (the version number) and it is clearer to use version in all cases instead of mixing version and mainver

---------------
llvm problems??
--build.log--
cpio: llvm-2.5/include/llvm-c/Core.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm-c/ExecutionEngine.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm-c/Target.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/APFloat.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/APInt.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/BitVector.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/DenseMap.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/DepthFirstIterator.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/FoldingSet.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/STLExtras.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/SmallPtrSet.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/SmallSet.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/SmallVector.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/Statistic.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/StringExtras.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/StringMap.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/StringSet.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/UniqueVector.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/VectorExtras.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/ilist.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/ilist_node.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ADT/iterator.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/AbstractTypeUser.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Argument.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Attributes.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/BasicBlock.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CallingConv.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/AsmPrinter.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/CallingConvLower.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/DAGISelHeader.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/LiveVariables.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineBasicBlock.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineCodeEmitter.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineConstantPool.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineFrameInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineFunction.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineFunctionPass.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineInstr.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineInstrBuilder.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineJumpTableInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineLocation.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineMemOperand.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineModuleInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineOperand.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineRegisterInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/MachineRelocation.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/Passes.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/RuntimeLibcalls.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/SelectionDAG.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/SelectionDAGISel.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/SelectionDAGNodes.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/CodeGen/ValueTypes.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Constant.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Constants.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/DerivedTypes.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ExecutionEngine/ExecutionEngine.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ExecutionEngine/GenericValue.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ExecutionEngine/JITMemoryManager.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Function.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/GlobalAlias.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/GlobalValue.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/GlobalVariable.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/InlineAsm.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/InstrTypes.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Instruction.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Instructions.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Intrinsics.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Module.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/ModuleProvider.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/OperandTraits.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Pass.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/PassAnalysisSupport.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/PassSupport.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/AlignOf.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/Allocator.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/CFG.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/CallSite.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/Casting.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/CommandLine.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/Debug.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/Dwarf.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/GetElementPtrTypeIterator.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/Mangler.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/MathExtras.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/MutexGuard.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/Recycler.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/RecyclingAllocator.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/Registry.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/Streams.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Support/raw_ostream.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/SymbolTableListTraits.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/System/Host.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/System/Memory.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/System/Mutex.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/System/TimeValue.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/DarwinTargetAsmInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/ELFTargetAsmInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/SubtargetFeature.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetAsmInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetData.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetELFWriterInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetFrameInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetInstrDesc.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetInstrInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetInstrItineraries.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetJITInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetLowering.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetMachine.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetMachineRegistry.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetOptions.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetRegisterInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Target/TargetSubtarget.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Type.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Use.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/User.h: Cannot stat: No such file or directory
cpio: llvm-2.5/include/llvm/Value.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine/ExecutionEngine.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine/ExecutionEngineBindings.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine/JIT: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine/JIT/Intercept.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine/JIT/JIT.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine/JIT/JIT.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine/JIT/JITDwarfEmitter.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine/JIT/JITEmitter.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine/JIT/JITMemoryManager.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/ExecutionEngine/JIT/TargetSelect.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/AsmPrinter: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86COFF.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86CodeEmitter.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86ELFWriterInfo.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86ELFWriterInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86FastISel.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86FloatingPoint.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86GenAsmWriter.inc: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86GenAsmWriter1.inc: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86GenCallingConv.inc: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86GenDAGISel.inc: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86GenFastISel.inc: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86GenInstrInfo.inc: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86GenInstrNames.inc: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86GenRegisterInfo.h.inc: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86GenRegisterInfo.inc: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86GenRegisterNames.inc: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86GenSubtarget.inc: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86ISelDAGToDAG.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86ISelLowering.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86ISelLowering.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86InstrBuilder.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86InstrInfo.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86InstrInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86JITInfo.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86JITInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86MachineFunctionInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86RegisterInfo.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86RegisterInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86Relocations.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86Subtarget.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86Subtarget.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86TargetAsmInfo.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86TargetAsmInfo.h: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86TargetMachine.cpp: Cannot stat: No such file or directory
cpio: llvm-2.5/lib/Target/X86/X86TargetMachine.h: Cannot stat: No such file or directory

---------------
to include pure in F10 you need to remove the gcc4.4 patch, because in F10 is gcc4.3 or is this patch compatible?
Perhaps you should split it for before F11 and F11 and higher (didn't test it yet)
--pure.spec--
Patch0:         pure-0.18-gcc44.patch
%patch0 -p1 -b .gcc44
--pure.spec--
if 0%{?fedora_version} >= 11
Patch0:         pure-0.18-gcc44.patch
%endif
if 0%{?fedora_version} >= 11
%patch0 -p1 -b .gcc44
%endif

Comment 6 Jason Tibbitts 2009-07-13 00:46:04 UTC
It's been more than a couple of months since Simon's comments above with no response; I'll close this ticket soon if there's no progress.

Comment 7 Jason Tibbitts 2009-07-19 17:11:55 UTC
No response; closing.

Comment 8 Michel Lind 2009-08-21 20:49:16 UTC
Reopening; sorry for the delay. Since Fedora 10 is going to be EOL-ed pretty soon anyway, and its version of LLVM is rather out-of-date (2.3), I'll probably target F-11 and above only, so that part can be ignored.

Going to address the other issues in an update.

Comment 10 Michel Lind 2009-08-22 17:24:49 UTC
Updated to 0.30; now builds on Rawhide against just-updated LLVM. Will build LLVM for F-10 and F-11 as well so reviewer only has to rebuild pure.

http://salimma.fedorapeople.org/specs/funpl/pure-0.30-1.fc12.src.rpm

Addressing previous pre-review concerns, here are the rpmlint warnings:

pure.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libpure.so
pure.x86_64: E: library-without-ldconfig-postin /usr/lib64/libpure.so.3.0
pure.x86_64: E: library-without-ldconfig-postun /usr/lib64/libpure.so.3.0
pure.x86_64: W: devel-file-in-non-devel-package /usr/lib64/pure/pure_main.c
pure.x86_64: W: devel-file-in-non-devel-package /usr/include/pure/runtime.h
1 packages and 0 specfiles checked; 2 errors, 3 warnings.

This package is for an interpreted language, so those development files are actually needed at runtime -- similar situation with Scheme implementations.
The guidelines make an exception for this.

Comment 11 Michel Lind 2009-08-22 19:12:25 UTC
Builds fine against F-12:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1625828

and the updated LLVM has been built for F-10 and F-11, you can grab them for building (please vote for the update if it works):

https://admin.fedoraproject.org/updates/llvm

Comment 12 Michel Lind 2009-08-23 00:38:57 UTC
There was a problem with the earlier LLVM build, but it only affects PPC, so it can still be used to test Pure i686 or x86_64. Discussing with maintainer whether the ppc build is stable enough to ship or not.

Upstream's "make check" does not actually return a non-zero value if a test fails. The spec is now updated to optionally do this, but it's disabled for now so we get RPMs out to test. One test is specifically disabled because, on Rawhide at least, it causes the pure interpreter to stop:

$ pure -v < test011.pure 
sscanf "this" "%d";
<stdin>, line 2: unhandled exception 'scanf_error ()' while evaluating 'sscanf "this" "%d"'
sscanf "this" "%g";
<stdin>, line 3: unhandled exception 'scanf_error ()' while evaluating 'sscanf "this" "%g"'
sscanf "this" "%s";
"this"
*** glibc detected *** pure: malloc(): smallbin double linked list corrupted: 0x0000000001e2f910 ***

Some other tests fail, though in non-fatal ways. The failures are being tracked upstream:
http://code.google.com/p/pure-lang/issues/detail?id=13#makechanges

Peter, if you could attach the build log you get on Fedora 11, it'd be helpful, we can then narrow down whether the problem is with Rawhide or with either of LLVM or pure.

Comment 13 Peter Robinson 2009-08-24 12:36:50 UTC
The RPM builds fine on both F-12 and F-11. Bothe build have a lot of "Cannot stat: No such file or directory" errrors but F-12 has a number of failures in the make check. I'll review more formally shortly.

F-11 build log: http://koji.fedoraproject.org/koji/getfile?taskID=1628827&name=build.log
F-12 build log: http://koji.fedoraproject.org/koji/getfile?taskID=1628818&name=build.log

Comment 14 Michel Lind 2009-08-27 23:24:51 UTC
Updated package:
http://salimma.fedorapeople.org/specs/funpl/pure-0.32-0.1.fc12.src.rpm

The "cannot stat" seems to be an LLVM packaging bug: they were pointing to directories that only make sense when LLVM was built. Oops. Will try and fix that.

Different problem with pure 0.32: on F-12 it's as before -- some tests need commenting out; on F-11 it now fails all tests.

F-12:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1639666
F-11:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1639669

Comment 15 Michel Lind 2009-09-01 15:43:09 UTC
With pure 0.33:
F-12 Koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=1648278

on i686, every tests pass; on x86_64, the same four tests have to be disabled

The updated LLVM for F-11 has not landed yet, but Koji build against the current version, which is non-functional on %{ix86} due to PIC issue, bizarrely pass all tests on x86_64. Looks indeed like a Rawhide glibc/llvm/pure interaction; in any case, only string operations are affected, bignum and numerical operations are fine.

Comment 16 Peter Robinson 2009-09-03 21:51:54 UTC
There's a few issues that need to be addressed.

- rpmlint output

$ rpmlint pure-0.32-0.1.fc12.src.rpm 
pure.src: E: invalid-spec-name
1 packages and 0 specfiles checked; 1 errors, 0 warnings.

$ rpmlint pure-0.32-0.1.fc12.x86_64.rpm 
pure.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libpure.so
pure.x86_64: E: library-without-ldconfig-postin /usr/lib64/libpure.so.3.0
pure.x86_64: E: library-without-ldconfig-postun /usr/lib64/libpure.so.3.0
pure.x86_64: W: devel-file-in-non-devel-package /usr/lib64/pure/pure_main.c
pure.x86_64: W: devel-file-in-non-devel-package /usr/include/pure/runtime.h
1 packages and 0 specfiles checked; 2 errors, 3 warnings.

+ package name satisfies the packaging naming guidelines
- specfile name matches the package base name
  why is the spec file named pure-svn.spec?
+ package should satisfy packaging guidelines
+ license meets guidelines and is acceptable to Fedora
+ license matches the actual package license
- latest version packaged
  There looks to be a 0.34 release upstream now
+ %doc includes license file
+ spec file written in American English
+ spec file is legible
- upstream sources match sources in the srpm
  a svn release needs to document how to recreate the spec file. See the geoclue package for an example.
+ package successfully builds on at least one architecture
  tested using koji scratch build
  http://koji.fedoraproject.org/koji/taskinfo?taskID=1653406
+ BuildRequires list all build dependencies
n/a %find_lang instead of %{_datadir}/locale/*
- binary RPM with shared library files must call ldconfig in %post and %postun+ does not use Prefix: /usr
n/a package owns all directories it creates
n/a no duplicate files in %files
- Package perserves timestamps on install
  As per guiddelines you could use "make install DESTDIR=%$RPM_BUILD_ROOT INSTALL='install -p'" 
  https://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps
+ %defattr line
+ %clean contains rm -rf $RPM_BUILD_ROOT
+ consistent use of macros
+ package must contain code or permissible content
n/a large documentation files should go in -doc subpackage
+ files marked %doc should not affect package
- header files should be in -devel
  Seems to be a few source files in the main package (plus an object file).
n/a static libraries should be in -static
n/a packages containing pkgconfig (.pc) files need 'Requires: pkgconfig'
? libfoo.so must go in -devel
  Not sure if this is relevant here.
n/a devel must require the fully versioned base
+ packages should not contain libtool .la files
n/a packages containing GUI apps must include %{name}.desktop file
+ packages must not own files or directories owned by other packages	
+ %install must start with rm -rf $RPM_BUILD_ROOT etc.
+ filenames must be valid UTF-8

Optional:

+ if there is no license file, packager should query upstream
n/a translations of description and summary for non-English languages, if
available
+ reviewer should build the package in mock/koji
+ the package should build into binary RPMs on all supported architectures
n/a review should test the package functions as described
+ scriptlets should be sane
n/a pkgconfig files should go in -devel
+ shouldn't have file dependencies outside /etc /bin /sbin /usr/bin or
/usr/sbin

Comment 17 Michel Lind 2009-09-03 22:33:45 UTC
Because that was an SVN snapshot that I accidentally uploaded to my review page.

Here's the updated srpm:

http://salimma.fedorapeople.org/specs/funpl/pure-0.33-1.fc12.src.rpm

- ppc builds disabled (Albert is investigating PPC issues, which has not been well-tested for a while)
- works fine on Rawhide i686; on x86_64 some tests had to be disabled. on F-11, should work fine on x86_64 but tests will currently fail on i586 if built against the current LLVM. Test against the LLVM in updates-testing

Comment 18 Michel Lind 2009-09-07 21:22:44 UTC
http://salimma.fedorapeople.org/specs/funpl/pure-0.34-1.fc12.src.rpm

- Workaround for Rawhide dlsym problem (bug number referenced in spec)
- PPC build enabled (fastcall disabled due to bug in LLVM)
- All tests now pass on x86_64 -- still waiting for Koji to finish
- Packaged Emacs mode file; support for other editors bundled in base package's
  docdir

Koji build not available yet -- LLVM 2.6 switched the default to enabling PIC, which does not work properly on ix86, so I'm waiting for the next LLVM build to finish and get tagged. The fixed llvm-2.5 packages for F-11 should land in updates-stable soon, I just ordered a push -- meanwhile, install from updates-testing.

Comment 19 Peter Robinson 2009-09-07 21:30:57 UTC
Oops, sorry, missed the last update in the busyness of the last week. Will update review now

Comment 20 Peter Robinson 2009-09-08 15:09:18 UTC
Failing again on PPC it seems :(
http://koji.fedoraproject.org/koji/taskinfo?taskID=1662666

Comment 21 Michel Lind 2009-09-09 04:11:48 UTC
Yah, the new build option with the workaround for PPC (--disable-fastcc) is not in 0.34 final, and I forgot to apply the patch. That will be sorted as soon as 0.35 comes out, so I guess there's no need to backport a patch only to save a day or two. In the meantime, here are the builds, with the offending patches disabled:

Koji F-11:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1663031

Koji F-12:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1663002

Comment 22 Michel Lind 2009-09-24 18:17:38 UTC
0.35 built, all tests enabled.

http://salimma.fedorapeople.org/specs/funpl/pure-0.35-1.fc12.src.rpm

Koji F-11:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1704620

One test fails on F-11 ppc; I'm capturing the test results. This would likely go away when we update F-11's llvm to 2.6, but I'll talk to upstream about it, since they want to keep pure working with older llvm releases too. In any case, shouldn't block the review (worse come to worst, just tell me to ExcludeArch ppc on F-11)

I had an earlier Koji F-12 build, done before I disabled some work-arounds (so the PPC build failed when composing the packages in the %files section). But build and check succeed on F-12 as well.

Comment 23 Peter Robinson 2009-09-27 21:27:38 UTC
Enabled arches build on rawhide
http://koji.fedoraproject.org/koji/taskinfo?taskID=1711941

rpmlint looks OK:
rpmlint pure-*
pure-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 1 warnings.

All other issues from above have been addressed so APPROVED!

Comment 24 Michel Lind 2009-09-28 20:26:28 UTC
Thanks, Peter!

New Package CVS Request
=======================
Package Name: pure
Short Description: The Pure programming language
Owners: salimma
Branches: EL-5 F-10 F-11
InitialCC:

Comment 25 Kevin Fenzi 2009-09-29 20:10:47 UTC
cvs done.

Comment 26 Fedora Update System 2009-10-02 22:03:16 UTC
pure-0.35-1.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/pure-0.35-1.fc12

Comment 27 Fedora Update System 2009-10-02 22:04:23 UTC
pure-0.35-1.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/pure-0.35-1.fc10

Comment 28 Fedora Update System 2009-10-02 22:04:29 UTC
pure-0.35-1.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/pure-0.35-1.fc11

Comment 29 Peter Robinson 2009-10-03 08:58:11 UTC
You'd be better filing a ticket with rel-eng to get it tagged into the release rather than waiting for a 0 day update.

Comment 30 Michel Lind 2009-10-03 19:28:57 UTC
That might be a better idea, yes.

Comment 31 Fedora Update System 2009-10-06 09:57:16 UTC
pure-0.35-1.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update pure'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-10242

Comment 32 Fedora Update System 2009-10-06 10:06:40 UTC
pure-0.35-1.fc10 has been pushed to the Fedora 10 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update pure'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-10280

Comment 33 Fedora Update System 2009-10-21 00:46:15 UTC
pure-0.35-1.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 34 Fedora Update System 2009-10-21 00:53:33 UTC
pure-0.35-1.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.


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