Bug 521730 - Review Request: fossil - A distributed SCM with bug tracking and wiki
Summary: Review Request: fossil - A distributed SCM with bug tracking and wiki
Keywords:
Status: CLOSED DUPLICATE of bug 959118
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-09-08 00:41 UTC by Silas Sewell
Modified: 2013-05-03 08:07 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-09-09 15:31:21 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Makes fossil to use the sqlite3 library provided by the system (6.67 KB, application/octet-stream)
2009-11-10 02:50 UTC, Cristian Ciupitu
no flags Details

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 ***


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