Bug 521730 - Review Request: fossil - A distributed SCM with bug tracking and wiki
Review Request: fossil - A distributed SCM with bug tracking and wiki
Status: CLOSED DUPLICATE of bug 959118
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-09-07 20:41 EDT by Silas Sewell
Modified: 2013-05-03 04:07 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-09-09 11:31:21 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Silas Sewell 2009-09-07 20:41:04 EDT
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 10:22:02 EDT
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 16:04:26 EDT
- 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 16:12:31 EDT
(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-08 23:48:00 EDT
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 10:33:20 EDT
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 11:31:21 EDT
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-09 21:48:43 EST
(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-09 21:50:46 EST
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-09 23:39:00 EST
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 04:07:48 EDT

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