Bug 459138 - Review Request: ctemplate - A simple but powerful template language for C++
Review Request: ctemplate - A simple but powerful template language for C++
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-08-14 13:00 EDT by Rakesh Pandit
Modified: 2014-05-17 09:47 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-09-06 03:57:50 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
tibbs: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Rakesh Pandit 2008-08-14 13:00:25 EDT
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 11:27:41 EDT
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 06:00:18 EDT
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 16:11:30 EDT
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 16:38:50 EDT
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 17:01:55 EDT
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 09:29:48 EDT
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 12:36:29 EDT
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-03 22:50:08 EDT
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 01:35:12 EDT
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 12:57:48 EDT
cvs done.
Comment 13 Fedora Update System 2008-09-06 03:52:24 EDT
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 03:53:20 EDT
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 11:29:51 EDT
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 11:30:43 EDT
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-15 22:02:21 EDT
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-15 22:11:58 EDT
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 00:18:28 EDT
Package Change Request
======================
Package Name: ctemplate
New Branches: epel7
Owners: cicku salimma
Comment 20 Gwyn Ciesla 2014-05-17 09:47:16 EDT
Git done (by process-git-requests).

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