Bug 521730

Summary: Review Request: fossil - A distributed SCM with bug tracking and wiki
Product: [Fedora] Fedora Reporter: Silas Sewell <silas>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: cristian.ciupitu, fedora-package-review, mapleoin, martin.gieseking, notting, volker27
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-09-09 15:31:21 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:
Attachments:
Description Flags
Makes fossil to use the sqlite3 library provided by the system none

Description Silas Sewell 2009-09-08 00:41:04 UTC
Spec Url:
http://silassewell.googlecode.com/svn/trunk/projects/packages/rpms/fossil/fossil.spec

SRPM Url:
http://silassewell.googlecode.com/files/fossil-0.0-0.1.20090828225927.fc12.src.rpm

Description:
Fossil is a simple, high-reliability, distributed software configuration
management with distributed bug tracking, distributed wiki and built-in web
interface.

rpmlint

[silas@fox rpmbuild]$ rpmlint /var/lib/mock/fedora-rawhide-i386/result/*.rpm
3 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 1 Ionuț Arțăriși 2009-09-08 14:22:02 UTC
I have built and run this package successfully and checked all the issues in the Review Guidelines against the package. 

$ rpmlint /var/lib/mock/fedora-11-i386/result/fossil-*
3 packages and 0 specfiles checked; 0 errors, 0 warnings.

I think this package is good and I would APPROVE it, but I am not a packager.

Comment 2 Martin Gieseking 2009-09-08 20:04:26 UTC
- The compiler flags given in the Makefile should be replaced by %{optflags}, e.g. by adding
  sed -i 's/^\(BCC\|TCC\) =.*$/\1 = gcc %{optflags}/' Makefile
to the %prep section.

- The folder "www" contains the documentation of fossil. It's probably a good idea to add it to a -doc sub-package.

Comment 3 Martin Gieseking 2009-09-08 20:12:31 UTC
(In reply to comment #2)
>   sed -i 's/^\(BCC\|TCC\) =.*$/\1 = gcc %{optflags}/' Makefile

I just noticed that src/main.mk recognizes CFLAGS, so it's sufficient to replace
  %{__make} %{?_smp_mflags} 
with 
  %{__make} CFLAGS="%{optflags}" %{?_smp_mflags}

Comment 4 Silas Sewell 2009-09-09 03:48:00 UTC
Diff: http://code.google.com/p/silassewell/source/diff?spec=svn327&r=327&format=side&path=/trunk/projects/packages/rpms/fossil/fossil.spec

SRPM: http://silassewell.googlecode.com/files/fossil-0.0-0.2.20090828225927.fc12.src.rpm

rpmlint

[silas@fox rpmbuild]$ rpmlint /var/lib/mock/fedora-rawhide-i386/result/*.rpm
4 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 5 Martin Gieseking 2009-09-09 14:33:20 UTC
Fossil uses copies of sqlite3.h and sqlite3.c that are bundled with the tarball. I fear it's necessary to remove them and use the development files from package sqlite-devel instead (http://fedoraproject.org/wiki/No_Bundled_Libraries). 

It's not too complicated to modify the sources. However, the code also references the internal sqlite function sqlite3StrICmp that is not available through libsqlite3. So it must probably be patched in somewhere.

Comment 6 Silas Sewell 2009-09-09 15:31:21 UTC
Both Fossil and SQLite were created by D. Richard Hipp. I'm not knowledgable enough about the SQLite or Fossil code base to feel comfortable maintaining a patch where my incompetence could destroy peoples data.

I'll leave the SRPM up in case someone else is interested, but I'm closing this request.

Thanks for your work and I'm sorry I wasted your time.

Comment 7 Cristian Ciupitu 2009-11-10 02:48:43 UTC
(In reply to comment #5)
> Fossil uses copies of sqlite3.h and sqlite3.c that are bundled with the
> tarball. I fear it's necessary to remove them and use the development files
> from package sqlite-devel instead
> (http://fedoraproject.org/wiki/No_Bundled_Libraries). 
> 
> It's not too complicated to modify the sources. However, the code also
> references the internal sqlite function sqlite3StrICmp that is not available
> through libsqlite3. So it must probably be patched in somewhere.  

Indeed it's not too complicated to modify the sources. I have attached a patch for the latest version of fossil (from the development repository), but it works just as well with fossil-src-20091103194336.tar.gz (it's listed on the "Download" page). The only catch is that it doesn't work with the current sqlite-devel, but it does work sqlite-devel-3.6.17-1.fc11.x86_64 which is available in the updates-testing repository. I assume that after some time it will be available in the updates repository. Also, all the fossil automated tests pass with 0 errors.


@Silas Sewell
If you still want to package fossil, don't forget to run "tclsh src/makemake.tcl > src/main.mk" after applying the patch. Also, delete the sqlite3 bundled files to be sure you're not compiling them.

Comment 8 Cristian Ciupitu 2009-11-10 02:50:46 UTC
Created attachment 368322 [details]
Makes fossil to use the sqlite3 library provided by the system

Fossil comes with its own sqlite3 library, but we want to use the one provided by the system.

Comment 9 Silas Sewell 2009-11-10 04:39:00 UTC
Thanks for submitting the patching.

I guess I don't have enough interest to properly maintain this package (gits good enough for me), but hopefully someone who is interested can combine the patch+spec and have a pretty decent start.

Comment 10 Volker Fröhlich 2013-05-03 08:07:48 UTC

*** This bug has been marked as a duplicate of bug 959118 ***