Bug 459138

Summary: Review Request: ctemplate - A simple but powerful template language for C++
Product: [Fedora] Fedora Reporter: Rakesh Pandit <rpandit>
Component: Package ReviewAssignee: Jason Tibbitts <j>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, i, notting
Target Milestone: ---Flags: j: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-09-06 07:57:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Rakesh Pandit 2008-08-14 17:00:25 UTC
Description:

CTemplate is a simple but powerful template language for C++. It
emphasizes separating logic from presentation: it is impossible to
embed application logic in this template language.

SPEC: http://rakesh.fedorapeople.org/spec/ctemplate.spec
SRPM: http://rakesh.fedorapeople.org/srpm/ctemplate-0.90-1.fc9.src.rpm

Comment 1 Jason Tibbitts 2008-08-16 15:27:41 UTC
A couple of rpmlint issues you'll want to take a look at:
  ctemplate.x86_64: W: undefined-non-weak-symbol 
   /usr/lib64/libctemplate.so.0.0.0 pthread_rwlock_rdlock
  ctemplate.x86_64: W: undefined-non-weak-symbol 
   /usr/lib64/libctemplate.so.0.0.0 pthread_rwlock_wrlock
  ctemplate.x86_64: W: undefined-non-weak-symbol 
   /usr/lib64/libctemplate.so.0.0.0 pthread_rwlock_destroy
  ctemplate.x86_64: W: undefined-non-weak-symbol 
   /usr/lib64/libctemplate.so.0.0.0 pthread_rwlock_init
  ctemplate.x86_64: W: undefined-non-weak-symbol 
   /usr/lib64/libctemplate.so.0.0.0 pthread_rwlock_unlock

Looks like this library uses those pthread functions without linking to a library which provides them.

  ctemplate.x86_64: E: binary-or-shlib-defines-rpath 
   /usr/bin/diff_tpl_auto_escape ['/usr/lib64']
  ctemplate.x86_64: E: binary-or-shlib-defines-rpath 
   /usr/bin/make_tpl_varnames_h ['/usr/lib64']

Usual rpath stuff.  It looks like you already have some chrpath calls in your spec; you should looking at fixing up the above two complaints as well.

Comment 2 Rakesh Pandit 2008-08-23 10:00:18 UTC
I have reported missing headers patch as well as build system craziness to upstream. The library is never checked for linking in ac_rwlock.m4 macro written for it. Upstream is already working it.

I have applied a quick fix for now.

sed -i 's|^PTHREAD_LIBS = |PTHREAD_LIBS = -lpthread|g' Makefile

rpath Erros are fixed.

SRPM: http://rakesh.fedorapeople.org/srpm/ctemplate-0.90-2.fc9.src.rpm
SPEC: http://rakesh.fedorapeople.org/spec/ctemplate.spec

I don't have a 86_64 m/c where I can check these error warning. May you verify?

Thanks

Comment 3 R P Herrold 2008-08-23 20:11:30 UTC
Is this code mature enough to use?  I see a LOT of warnings on comparisons between differing types such as:

src/tests/template_unittest.cc:770: warning: comparison between signed and unsigned integer expressions

The project is 2.5 years old, and in reading the changelog at the upstream URL, seems not to have ever addresses such issues.

This to one side, I get a clean non-root rebuild from your SRPM on x86_64

Wrote: /home/herrold/rpmbuild/RPMS/x86_64/ctemplate-0.90-2.x86_64.rpm
Wrote: /home/herrold/rpmbuild/RPMS/x86_64/ctemplate-devel-0.90-2.x86_64.rpm
Wrote: /home/herrold/rpmbuild/RPMS/x86_64/ctemplate-debuginfo-0.90-2.x86_64.rpm

No idea if it works.  :)

-- Russ herrold

Comment 4 Rakesh Pandit 2008-08-23 20:38:50 UTC
Very nice templates. I had been using it for some time on with one my friends site. 

Documentation:
http://google-ctemplate.googlecode.com/svn/trunk/doc/index.html

ChangeLog:
http://google-ctemplate.googlecode.com/svn/trunk/ChangeLog

It is very much active.

Comment 5 Rakesh Pandit 2008-08-23 21:01:55 UTC
First missing include headers is applied by Maintainer upstream and new 0.91 has been release. Will update in a while.

Comment 7 Jason Tibbitts 2008-09-03 13:29:48 UTC
I can verify that this package builds fine and rpmlint is silent.  I've no way to test it, though.

Review coming up.

Comment 8 Jason Tibbitts 2008-09-03 16:36:29 UTC
OK, everything looks good.  The only issue I see is that there seems to be some sort of test suite (in the src/tests directory of the tarball) and it would be good to run that if at all possible.

* source files match upstream:
   d5d75cff03c58a7b9178099a8587caa348433f5702dc58e25e5b35dbef2b09f9  
   ctemplate-0.91.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summary is OK.
* description is OK.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* compiler flags are appropriate.
* %clean is present.
* package builds in mock (rawhide, x86_64).
* package installs properly.
* debuginfo package looks complete.
* rpmlint is silent.
* final provides and requires are sane:
  ctemplate-0.91-1.fc10.x86_64.rpm
   libctemplate.so.0()(64bit)
   libctemplate_nothreads.so.0()(64bit)
   ctemplate = 0.91-1.fc10
   ctemplate(x86-64) = 0.91-1.fc10
  =
   /sbin/ldconfig
   /usr/bin/perl
   libctemplate.so.0()(64bit)
   libctemplate_nothreads.so.0()(64bit)
   libgcc_s.so.1()(64bit)
   libgcc_s.so.1(GCC_3.0)(64bit)
   libstdc++.so.6()(64bit)
   libstdc++.so.6(CXXABI_1.3)(64bit)
   libstdc++.so.6(GLIBCXX_3.4)(64bit)
   libstdc++.so.6(GLIBCXX_3.4.9)(64bit)

  ctemplate-devel-0.91-1.fc10.x86_64.rpm
   ctemplate-devel = 0.91-1.fc10
   ctemplate-devel(x86-64) = 0.91-1.fc10
  =
   ctemplate = 0.91-1.fc10
   libctemplate.so.0()(64bit)
   libctemplate_nothreads.so.0()(64bit)

? %check is not present, but there seems to be a test suite.
* shared libraries present:
  ldconfig called properly.
  unversioned .so links are in the -devel package.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* scriptlets are OK (ldconfig).
* code, not content.
* documentation is small, so no -doc subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* headers are in the -devel package.
* no pkgconfig files.
* no static libraries.
* no libtool .la files.

Comment 10 Jason Tibbitts 2008-09-04 02:50:08 UTC
That's perhaps the scariest test output I've seen, but at the end it indicates that everything is OK:
  ===================
  All 15 tests passed
  ===================

APPROVED

Comment 11 Rakesh Pandit 2008-09-04 05:35:12 UTC
New Package CVS Request
=======================
Package Name: ctemplate
Short Description: A simple but powerful template language for C++
Owners: rakesh
Branches: F-8 F-9
InitialCC: rakesh
Cvsextras Commits: yes

Comment 12 Kevin Fenzi 2008-09-05 16:57:48 UTC
cvs done.

Comment 13 Fedora Update System 2008-09-06 07:52:24 UTC
ctemplate-0.91-2.fc8 has been submitted as an update for Fedora 8.
http://admin.fedoraproject.org/updates/ctemplate-0.91-2.fc8

Comment 14 Fedora Update System 2008-09-06 07:53:20 UTC
ctemplate-0.91-2.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/ctemplate-0.91-2.fc9

Comment 15 Fedora Update System 2008-09-23 15:29:51 UTC
ctemplate-0.91-3.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/ctemplate-0.91-3.fc9

Comment 16 Fedora Update System 2008-09-23 15:30:43 UTC
ctemplate-0.91-3.fc8 has been submitted as an update for Fedora 8.
http://admin.fedoraproject.org/updates/ctemplate-0.91-3.fc8

Comment 17 Fedora Update System 2008-10-16 02:02:21 UTC
ctemplate-0.91-3.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2008-10-16 02:11:58 UTC
ctemplate-0.91-3.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 19 Christopher Meng 2014-05-17 04:18:28 UTC
Package Change Request
======================
Package Name: ctemplate
New Branches: epel7
Owners: cicku salimma

Comment 20 Gwyn Ciesla 2014-05-17 13:47:16 UTC
Git done (by process-git-requests).