Bug 495577

Summary: Review Request: xsw - A simple slideshow producer and viewer
Product: [Fedora] Fedora Reporter: Fabian Affolter <mail>
Component: Package ReviewAssignee: Susi Lehtola <susi.lehtola>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting, steve, susi.lehtola
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: 2010-01-04 10:04:25 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:
Bug Depends On:    
Bug Blocks: 201449    

Description Fabian Affolter 2009-04-13 20:33:25 UTC
Spec URL: http://fab.fedorapeople.org/packages/SRPMS/xsw.spec
SRPM URL: http://fab.fedorapeople.org/packages/SRPMS/xsw-0.1.3-1.fc10.src.rpm

Project URL: http://code.google.com/p/xsw/

Description:
xsw is  for all those who are looking for a console-based slideshow
presentation tool. By using xsw, you create your presentation "by hand",
using the xsw language described in the manual.

Koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1295329

rpmlint output:
[fab@laptop24 i386]$ rpmlint xsw*
2 packages and 0 specfiles checked; 0 errors, 0 warnings.

[fab@laptop24 SRPMS]$ rpmlint xsw-0.1.3-1.fc10.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Comment 1 Susi Lehtola 2009-04-14 07:01:28 UTC
- Any possibility of removing the bundled fonts? 
http://fedoraproject.org/wiki/Packaging/Guidelines#Avoid_bundling_of_fonts_in_other_packages

- Time stamps are not conserved, e.g.
/bin/sh /builddir/build/BUILD/xsw-0.1.3/install-sh -c -m 644 'VeraMono.ttf' '/b
uilddir/build/BUILDROOT/xsw-0.1.3-1.fc10.x86_64/usr/share/xsw/VeraMono.ttf'
(it does preserve the time stamp of the man page)

Comment 2 Susi Lehtola 2009-04-14 11:38:36 UTC
The pacakge bitstream-vera-fonts provides the same fonts that are used here.

Comment 3 Fabian Affolter 2009-04-16 22:31:25 UTC
(In reply to comment #1)
> - Any possibility of removing the bundled fonts? 
> http://fedoraproject.org/wiki/Packaging/Guidelines#Avoid_bundling_of_fonts_in_other_packages

I added a patch and the fonts are removed in the prep section. 'bitstream-vera-fonts' as a requirement added.  I not sure if the way of working with symlinks is desired but for now I have no better idea.  Perhaps anybody can point me to an example.

Here are the updated files:

Spec URL: http://fab.fedorapeople.org/packages/SRPMS/xsw.spec
SRPM URL: http://fab.fedorapeople.org/packages/SRPMS/xsw-0.2.2-1.fc10.src.rpm

Comment 4 Susi Lehtola 2009-04-17 08:58:21 UTC
Just patch the source code, then there's no need to ship fonts or make symlinks altogether.

I'm not fluent enough in sed to be able to write a loop that replaces the occurrences in src/execute.c due to the double quotes:

			font = TTF_OpenFont(DATADIR "VeraBd.ttf", txt->size);
			font = TTF_OpenFont(DATADIR "VeraSeBd.ttf", txt->size);
			font = TTF_OpenFont(DATADIR "VeraMono.ttf", txt->size);
			font = TTF_OpenFont(DATADIR "VeraBd.ttf", txt->size);
			fprintf(stderr, "Default font %s could not be found. Are you sure you typed 'make install' after compiling xsd?", DATADIR "VeraBd.ttf");

Something of the like of 

for font in VeraBd.ttf VeraSeBd.ttf VeraMono.ttf; do
 sed -i 's|DATADIR "$font"|"/usr/share/fonts/bitstream-vera/$font"|g' src/execute.c
done

should do the trick.


If you can't get that to work, then you can always patch the source code file and replace
 DATADIR "VeraBd.ttf"
with
 "@VERABD@"
and so on, and then just run sed to replace @VERABD@ et al with the correct paths in the spec file.

Comment 5 Susi Lehtola 2009-04-17 09:47:33 UTC
Of course, you don't need to use loops, you can just do the changes in three lines:

sed -i 's|DATADIR "VeraBd.ttf"|"/usr/share/fonts/bitstream-vera/VeraBd.ttf"|g' src/execute.c
sed -i 's|DATADIR "VeraSeBd.ttf"|"/usr/share/fonts/bitstream-vera/VeraSeBd.ttf"|g' src/execute.c
sed -i 's|DATADIR "VeraMono.ttf"|"/usr/share/fonts/bitstream-vera/VeraMono.ttf"|g' src/execute.c

but looping would be neater.

Comment 6 Fabian Affolter 2009-04-19 14:44:44 UTC
Patching the source is much nicer than my ugly symlink stuff.  Thanks for that. No looping at the moment because I'm in contact with upstream about the embedded fonts.


* Sun Apr 19 2009 Fabian Affolter <fabian> - 0.2.3-1
- Removed symlink stuff
- Changed the path of the fonts in Makefile
- Updated to new upstream version 0.2.3


Here are the updated files:

Spec URL: http://fab.fedorapeople.org/packages/SRPMS/xsw.spec
SRPM URL: http://fab.fedorapeople.org/packages/SRPMS/xsw-0.2.3-1.fc10.src.rpm

Comment 7 Susi Lehtola 2009-04-19 17:35:06 UTC
rpmlint output is clean.

MUST: The package does not yet exist in Fedora. The Review Request is not a duplicate. OK
MUST: The spec file for the package is legible and macros are used consistently. OK
MUST: The package must be named according to the Package Naming Guidelines. OK
MUST: The spec file name must match the base package %{name}. OK
MUST: The package must be licensed with a Fedora approved license and meet the  Licensing Guidelines. OK

MUST: The License field in the package spec file must match the actual license. NEEDSFIX
- License is GPLv3 not GPLv3+.

MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. OK
MUST: The package MUST successfully compile and build into binary rpms. OK
MUST: The spec file MUST handle locales properly. OK

MUST: Optflags are used and time stamps preserved. NEEDSFIX
- Time stamps are not preserved, e.g.
 /bin/sh /builddir/build/BUILD/xsw-0.2.3/install-sh -c -m 644 'intro/bloc.bmp' '/builddir/build/BUILDROOT/xsw-0.2.3-1.fc10.x86_64/usr/share/xsw/intro/bloc.bmp'

MUST: Packages containing shared library files must call ldconfig. OK
MUST: A package must own all directories that it creates or require the package that owns the directory. OK
MUST: Files only listed once in %files listings. OK
MUST: Permissions on files must be set properly. OK
MUST: Clean section exists. OK
MUST: Large documentation files must go in a -doc subpackage. OK
MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. OK
MUST: Header files must be in a -devel package. OK
MUST: Static libraries must be in a -static package. OK
MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. OK
MUST: If a package contains library files with a suffix then library files ending in .so must go in a -devel package. OK
MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency. OK
MUST: Packages does not contain any .la libtool archives. OK

MUST: Desktop files are installed properly. OK
- No GUI, needs arguments to work.

MUST: No file conflicts with other packages and no general names. OK
MUST: Buildroot cleaned before install. OK
SHOULD: %{?dist} tag is used in release. OK
SHOULD: If the package does not include license text(s) as separate files from upstream, the packager should query upstream to include it. OK
SHOULD: The package builds in mock. OK

Comment 8 Fabian Affolter 2009-04-22 22:28:44 UTC
(In reply to comment #7)
> MUST: The License field in the package spec file must match the actual license.
> NEEDSFIX
> - License is GPLv3 not GPLv3+.

fixed

> MUST: Optflags are used and time stamps preserved. NEEDSFIX
> - Time stamps are not preserved, e.g.
>  /bin/sh /builddir/build/BUILD/xsw-0.2.3/install-sh -c -m 644 'intro/bloc.bmp'
> '/builddir/build/BUILDROOT/xsw-0.2.3-1.fc10.x86_64/usr/share/xsw/intro/bloc.bmp'

The man page is ok.  But you are right about the rest of the files.  I will see what I can do to preserve the time stamps.

* Wed Apr 22 2009 Fabian Affolter <fabian> - 0.3.0-1
- Fixed license
- Added ImageMagick as a requirement for pdf support
- Updated to new upstream version 0.3.0

Here are the updated files:

Spec URL: http://fab.fedorapeople.org/packages/SRPMS/xsw.spec
SRPM URL: http://fab.fedorapeople.org/packages/SRPMS/xsw-0.3.0-1.fc10.src.rpm

Comment 9 Susi Lehtola 2009-04-23 06:10:40 UTC
(In reply to comment #8)
> > MUST: Optflags are used and time stamps preserved. NEEDSFIX
> > - Time stamps are not preserved, e.g.
> >  /bin/sh /builddir/build/BUILD/xsw-0.2.3/install-sh -c -m 644 'intro/bloc.bmp'
> > '/builddir/build/BUILDROOT/xsw-0.2.3-1.fc10.x86_64/usr/share/xsw/intro/bloc.bmp'
> 
> The man page is ok.  But you are right about the rest of the files.  I will see
> what I can do to preserve the time stamps.

You probably have to patch the makefile.

I'll have a new look once you have fixed the time stamp problem.

Comment 10 Fabian Affolter 2009-04-29 18:29:31 UTC
http://code.google.com/p/xsw/issues/detail?id=27

Comment 11 Fabian Affolter 2009-05-03 14:57:00 UTC
(In reply to comment #9)
> I'll have a new look once you have fixed the time stamp problem.  

The issue about the broken time stamps seems to be a typical problem for googlecode hosted projects.  A little test with one of my other packages which is hosted at googlecode.

[fab@laptop24 SOURCES]$ LC_ALL=C wget -N http://backup-light.googlecode.com/files/backup-light-0.4.tar.gz
--2009-05-03 16:54:54--  http://backup-light.googlecode.com/files/backup-light-0.4.tar.gz
Resolving backup-light.googlecode.com... 74.125.43.82
Connecting to backup-light.googlecode.com|74.125.43.82|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13111 (13K) [application/x-gzip]
Last-modified header missing -- time-stamps turned off.
--2009-05-03 16:54:54--  http://backup-light.googlecode.com/files/backup-light-0.4.tar.gz
<-----%>---------->

Comment 12 Susi Lehtola 2009-05-03 15:21:38 UTC
(In reply to comment #11)
> (In reply to comment #9)
> > I'll have a new look once you have fixed the time stamp problem.  
> 
> The issue about the broken time stamps seems to be a typical problem for
> googlecode hosted projects.  A little test with one of my other packages which
> is hosted at googlecode.

Oh but it's not the tarball itself that is the problem, since the time stamps of the files are embedded in it.

What you need to do is fix the install command to use -p, as per comments 7 and 8.

Comment 13 Susi Lehtola 2009-05-15 16:03:51 UTC
ping?

Comment 14 Susi Lehtola 2009-06-08 18:56:38 UTC
ping again?

Comment 15 Fabian Affolter 2009-06-16 09:18:14 UTC
I will try to spend some time on this package during FUDCon.

Comment 16 Susi Lehtola 2009-07-05 10:36:19 UTC
ping?

Comment 17 Fabian Affolter 2009-07-10 12:34:29 UTC
I will gon on with this as soon as possible.  Thanks for your patience.

Comment 18 Susi Lehtola 2009-07-22 12:35:54 UTC
ping again

Comment 19 Fabian Affolter 2009-07-22 19:25:28 UTC
It seems that upstream will not fix the time stamps issue at the moment (from my point of view are the right parameter used in install-sh but I say this without any deeper investigations, just after looking at the output).

Hmmm, I think that I will postpone this and see if there is any progress from upstream.

Comment 20 Susi Lehtola 2009-09-07 15:24:29 UTC
ping?

Comment 21 Fabian Affolter 2009-10-07 14:12:20 UTC
There is still no new upstream release.

Comment 22 Susi Lehtola 2010-01-01 22:56:35 UTC
ping?

Comment 23 Fabian Affolter 2010-01-04 10:04:25 UTC
I mark this as a FE-DEADREVIEW and leave the files in place.  Upstream is not answering and there wasn't a new release for a long period.

Jussi, thank you for your time and your help with this package.