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.
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
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.
Updated to 0.19. srpm: http://salimma.fedorapeople.org/specs/funpl/pure-0.19-1.fc11.src.rpm spec: http://salimma.fedorapeople.org/specs/funpl/pure.spec patch: http://salimma.fedorapeople.org/specs/funpl/pure-0.18-gcc44.patch Rawhide scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=1242682 F-10 scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=1242712
@Jason, do you want to take care of this or can I do this job?
-------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
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.
No response; closing.
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.
Updated SRPM: http://salimma.fedorapeople.org/specs/funpl/pure-0.29-1.fc12.src.rpm Koji build (F-11): http://koji.fedoraproject.org/koji/taskinfo?taskID=1624253 The F-12 build currently fails: http://koji.fedoraproject.org/koji/taskinfo?taskID=1624272
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.
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
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.
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
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
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.
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
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
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.
Oops, sorry, missed the last update in the busyness of the last week. Will update review now
Failing again on PPC it seems :( http://koji.fedoraproject.org/koji/taskinfo?taskID=1662666
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
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.
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!
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:
cvs done.
pure-0.35-1.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/pure-0.35-1.fc12
pure-0.35-1.fc10 has been submitted as an update for Fedora 10. http://admin.fedoraproject.org/updates/pure-0.35-1.fc10
pure-0.35-1.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/pure-0.35-1.fc11
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.
That might be a better idea, yes.
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
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
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.
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.