Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1752139 - Review Request: ucblogo - logo programming language
Summary: Review Request: ucblogo - logo programming language
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Robert-André Mauchin 🐧
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-09-13 20:57 UTC by Josh Cogliati
Modified: 2019-12-01 00:46 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-12-01 00:46:04 UTC
Type: ---
Embargoed:
zebob.m: fedora-review+


Attachments (Terms of Use)

Description Josh Cogliati 2019-09-13 20:57:28 UTC
Spec URL: https://src.fedoraproject.org/fork/jrincayc/rpms/ucblogo/blob/fix_fedora_30/f/ucblogo.spec
SRPM URL: http://jjc.freeshell.org/ucblogo-6.0-26.fc30.src.rpm
Description: Berkeley Logo (ucblogo) is an interpreter for the Logo programming
language. Logo is a computer programming language designed for use by
learners, including children. This dialect of Logo features
random-access arrays, variable number of inputs to user-defined
procedures, various error handling improvements, comments and
continuation lines, first-class instruction and expression templates,
and macros.

Note that ucblogo was previously packaged for fedora, but due to FTBFS it was removed in Fedora 30.  I have emailed gemi and Gerard said "it would be great if you would take over ucblogo."
Fedora Account System Username: jrincayc

Comment 1 J. Scheurich 2019-09-15 03:10:48 UTC
fedora review fails to accept ucblogo

$ fedora-review -n ucblogo
INFO: Processing local files: ucblogo
INFO: Getting .spec and .srpm Urls from : Local files in /home/mufti
INFO:   --> SRPM url: file:///home/mufti/ucblogo-6.0-26.fc30.src.rpm
INFO:   --> Spec url: file:///home/mufti/ucblogo.spec
INFO: Using review directory: /home/mufti/review-ucblogo
INFO: No upstream for (Source2): ucblogo.desktop
INFO: No upstream for (Source1): logo-mode.tar.gz
INFO: Downloading (Source0): ftp://ftp.cs.berkeley.edu/pub/ucblogo/ucblogo-6.0.tar.gz
INFO: Running checks and generating report
ERROR: Exception(/home/mufti/ucblogo-6.0-26.fc30.src.rpm) Config(fedora-rawhide-x86_64) 0 minutes 13 seconds
INFO: Results and/or logs in: /home/mufti/review-ucblogo/results
ERROR: Command failed: 
ERROR: 'mock build failed, see /home/mufti/review-ucblogo/results/build.log'

$ more /home/mufti/review-ucblogo/results/build.log
...
BUILDSTDERR: In file included from /usr/include/bits/libc-header-start.h:33,
BUILDSTDERR:                  from /usr/include/stdio.h:27,
BUILDSTDERR:                  from logo.h:80,
BUILDSTDERR:                  from mem.c:22:
BUILDSTDERR: /usr/include/features.h:397:4: warning: #warning _FORTIFY_SOURCE re
quires compiling with optimization (-O) [-Wcpp]
...
RPM build errors:
Child return code was: 1
EXCEPTION: [Error()]
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/mockbuild/trace_decorator.py", line 96,
 in trace
    result = func(*args, **kw)
  File "/usr/lib/python3.7/site-packages/mockbuild/util.py", line 736, in do_wit
h_status
    raise exception.Error("Command failed: \n # %s\n%s" % (command, output), chi
ld.returncode)
mockbuild.exception.Error: Command failed: 
 # /usr/bin/systemd-nspawn -q -M 6f157eded521445f8d54f6775eb7d9c5 -D /var/lib/mo
ck/fedora-rawhide-x86_64/root -a --capability=cap_ipc_lock --bind=/tmp/mock-reso
lv.t352osmd:/etc/resolv.conf --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --sete
nv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/
sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<moc
k-chroot> \s-\v\$  --setenv=LANG=en_US.UTF-8 -u mockbuild bash --login -c /usr/b
in/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/ucblogo.spec

Mock Version: 1.4.16

Comment 2 Josh Cogliati 2019-09-15 23:09:31 UTC
It was missing g++ as a dependency.  Thank you for looking at it.  I fixed the dependency.

Comment 3 J. Scheurich 2019-09-17 00:05:24 UTC
ucblogo fails to build:

$ rpmbuild -ba ucblogo.spec
...
patching file docs/makefile
+ sed -i 's|everything|all|g' makefile makefile.cygwin makefile.in
+ sed -i 's|\.logo|dot.logo|g' 'emacs/dot.*'
sed: can't read emacs/dot.*: No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.neoER8 (%prep)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.neoER8 (%prep)

Comment 4 J. Scheurich 2019-09-18 01:17:06 UTC
BTW, there are warnings while using 

$ rpmbuild -ba ucblogo.spec 
...
n make-comint:
comint-logo.el:642:26:Warning: Use `with-current-buffer' rather than
    save-excursion+set-buffer

In comint-exec:
comint-logo.el:659:51:Warning: Use `with-current-buffer' rather than
    save-excursion+set-buffer
...
...
dvipdf usermanual.dvi
for d akehelp.c:9:1: warning: return type defaults to 'int' [-Wimplicit-int]
    9 | main() {
      | ^~~~
makehelp.c: In function 'main':
makehelp.c:20:2: warning: implicit declaration of function 'exit' [-Wimplicit-function-declaration]
   20 |  exit(1);
      |  ^~~~
makehelp.c:20:2: warning: incompatible implicit declaration of built-in function 'exit'
makehelp.c:3:1: note: include '<stdlib.h>' or provide a declaration of 'exit'
    2 | #include <ctype.h>
  +++ |+#include <stdlib.h>
    3 | 
...
in html; do [ -d $d ] || mkdir -p $d || exit 1; done
texi2html --expand tex --split chapter --no-iftex usermanual.texi
Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^\s+@([^\s\{\}\@]+)({ <-- HERE })?\s*/ at /usr/bin/texi2html line 33105.
usermanual.texi:9: Unknown command `vsize'
usermanual.texi:10: Unknown command `parskip'
usermanual.texi:11: Unknown command `parindent'

Comment 5 J. Scheurich 2019-09-18 01:55:57 UTC
This is a informal review, i am not in the packager group 8-(

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Large documentation must go in a -doc subpackage. Large could be size
  (~1MB) or number of files.
  Note: Documentation size is 1658880 bytes in 27 files.
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/#_documentation


===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[!]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[!]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated", "GPL (v2 or later) (with incorrect FSF
     address)", "*No copyright* GPL (v2 or later) (with incorrect FSF
     address)", "GPL (v2)". 600 files have unknown license. Detailed output
     of licensecheck in /home/mufti/review-ucblogo/licensecheck.txt
[!]: License file installed when any subpackage combination is installed.
[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/emacs,
     /usr/share/emacs/site-lisp, /usr/share/icons/hicolor/256x256,
     /usr/share/icons/hicolor/256x256/apps, /usr/share/icons/hicolor
[!]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/share/man/man1(kxstitch,
     filesystem, sysreporter), /usr/share/emacs/site-lisp/site-
     start.d(emacs-slime, emacs-irsim-mode, autoconf, emacs-filesystem,
     emacs-common, lilypond, gforth, emacs-spice-mode, maxima, asymptote)
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Development files must be in a -devel package
[!]: Package uses nothing in %doc for runtime.
[x]: Texinfo files are installed using install-info in %post and %preun if
     package has .info files.
     Note: Texinfo .info file(s) in ucblogo
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
     Note: %makeinstall used in %install section
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[x]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package is named using only allowed ASCII characters.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[!]: Uses parallel make %{?_smp_mflags} macro.
[!]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[!]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in ucblogo
     , ucblogo-emacs
[x]: Package functions as described.
[x]: Latest version is packaged.
[!]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[x]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[!]: Spec file according to URL is the same as in SRPM.
     Note: Spec file as given by url is not the same as in SRPM (see
     attached diff).
     See: (this test has no URL)
[!]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 2877440 bytes in /usr/share
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: ucblogo-6.0-26.fc32.x86_64.rpm
          ucblogo-emacs-6.0-26.fc32.x86_64.rpm
          ucblogo-debuginfo-6.0-26.fc32.x86_64.rpm
          ucblogo-debugsource-6.0-26.fc32.x86_64.rpm
          ucblogo-6.0-26.fc32.src.rpm
ucblogo.x86_64: E: incorrect-fsf-address /usr/share/doc/ucblogo/README
ucblogo.x86_64: E: incorrect-fsf-address /usr/share/doc/ucblogo/gpl
ucblogo.x86_64: E: standard-dir-owned-by-package /usr/share/man/man1
ucblogo.x86_64: W: no-manual-page-for-binary logo-wx
ucblogo.src:133: W: macro-in-comment %{_infodir}
ucblogo.src:133: W: macro-in-comment %{_infodir}
ucblogo.src:139: W: macro-in-comment %{_infodir}
ucblogo.src:139: W: macro-in-comment %{_infodir}
ucblogo.src:6: W: mixed-use-of-spaces-and-tabs (spaces: line 6, tab: line 1)
ucblogo.src: W: invalid-url Source1: logo-mode.tar.gz
5 packages and 0 specfiles checked; 3 errors, 7 warnings.




Rpmlint (debuginfo)
-------------------
Checking: ucblogo-debuginfo-6.0-26.fc32.x86_64.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.





Rpmlint (installed packages)
----------------------------
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_CTYPE = "C.UTF-8",
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LC_CTYPE = "C.UTF-8",
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
ucblogo.x86_64: W: invalid-url URL: http://www.cs.berkeley.edu/~bh <urlopen error [Errno -2] Name or service not known>
ucblogo.x86_64: E: incorrect-fsf-address /usr/share/doc/ucblogo/README
ucblogo.x86_64: E: incorrect-fsf-address /usr/share/doc/ucblogo/gpl
ucblogo.x86_64: E: standard-dir-owned-by-package /usr/share/man/man1
ucblogo.x86_64: W: no-manual-page-for-binary logo-wx
ucblogo-emacs.x86_64: W: invalid-url URL: http://www.cs.berkeley.edu/~bh <urlopen error [Errno -2] Name or service not known>
ucblogo-debugsource.x86_64: W: invalid-url URL: http://www.cs.berkeley.edu/~bh <urlopen error [Errno -2] Name or service not known>
ucblogo-debuginfo.x86_64: W: invalid-url URL: http://www.cs.berkeley.edu/~bh <urlopen error [Errno -2] Name or service not known>
4 packages and 0 specfiles checked; 3 errors, 5 warnings.



Source checksums
----------------
ftp://ftp.cs.berkeley.edu/pub/ucblogo/ucblogo-6.0.tar.gz :
  CHECKSUM(SHA256) this package     : c659e989e9284efc0f904ebd7de24b559c2d7434a98bb9c92c23e6c11b49cef3
  CHECKSUM(SHA256) upstream package : c659e989e9284efc0f904ebd7de24b559c2d7434a98bb9c92c23e6c11b49cef3


Requires
--------
ucblogo (rpmlib, GLIBC filtered):
    /bin/sh
    /sbin/install-info
    libX11.so.6()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.9)(64bit)
    libtinfo.so.6()(64bit)
    libwx_baseu-3.0.so.0()(64bit)
    libwx_baseu-3.0.so.0(WXU_3.0)(64bit)
    libwx_gtk3u_core-3.0.so.0()(64bit)
    libwx_gtk3u_core-3.0.so.0(WXU_3.0)(64bit)
    libwx_gtk3u_html-3.0.so.0()(64bit)
    libwx_gtk3u_html-3.0.so.0(WXU_3.0)(64bit)
    rtld(GNU_HASH)

ucblogo-emacs (rpmlib, GLIBC filtered):
    ucblogo

ucblogo-debuginfo (rpmlib, GLIBC filtered):

ucblogo-debugsource (rpmlib, GLIBC filtered):



Provides
--------
ucblogo:
    application()
    application(ucblogo.desktop)
    ucblogo
    ucblogo(x86-64)

ucblogo-emacs:
    ucblogo-emacs
    ucblogo-emacs(x86-64)

ucblogo-debuginfo:
    debuginfo(build-id)
    ucblogo-debuginfo
    ucblogo-debuginfo(x86-64)

ucblogo-debugsource:
    ucblogo-debugsource
    ucblogo-debugsource(x86-64)



Diff spec file in url and in SRPM
---------------------------------
--- /home/mufti/ucblogo.spec	2019-09-16 19:21:12.237968836 -0400
+++ /home/mufti/review-ucblogo/srpm-unpacked/ucblogo.spec	2019-09-15 10:11:16.000000000 -0400
@@ -3,5 +3,5 @@
 Release:	26%{?dist}
 Summary:	An interpreter for the Logo programming language
- 
+
 Group: 		Development/Languages
 License:	GPLv2+
@@ -36,6 +36,6 @@
 Requires(post):  /sbin/install-info
 Requires(preun): /sbin/install-info
- 
- 
+
+
 %description
 Berkeley Logo (ucblogo) is an interpreter for the Logo programming
@@ -46,14 +46,14 @@
 continuation lines, first-class instruction and expression templates,
 and macros.
- 
+
 %package emacs
 Summary:        Emacs Logo mode
 Group:          Development/Languages
 Requires:       %{name} = %{version}-%{release}
- 
+
 %description emacs
 Emacs mode for UCBLogo.
- 
- 
+
+
 %prep
 %setup -q
@@ -67,7 +67,7 @@
 %patch6 -p1 -b .wxturtle
 %patch7 -p1 -b .man
- 
+
 sed -i 's|everything|all|g' makefile*
- 
+
 # no dot files in directories
 sed -i  's|\.logo|dot.logo|g' emacs/dot.*
@@ -75,5 +75,5 @@
 sed -i 's|\.LOOPS|dot.LOOPS|g' emacs/dot.*
 sed -i 's|/\.LOOPS|/dot.LOOPS|g' emacs/makefile
- 
+
 # correct directories /usr/lib -> /usr/share and /usr/local ->  /usr
 sed -i 's|/local/lib/logo|/share/logo|g' emacs/*
@@ -90,9 +90,9 @@
 sed -i 's|.*mv .*||' docs/makefile
 sed -i 's|.*rmdir .*||' docs/makefile
- 
+
 find -name 'CVS' | xargs rm -rf
 find -name '.svn' | xargs rm -rf
- 
- 
+
+
 %build
 # build WX version
@@ -106,8 +106,9 @@
 # compile emacs files
 make -C emacs BINDIR=%{_bindir} EMACSDIR=%{_datadir}/emacs/site-lisp/logo INFODIR=%{_infodir} LIBLOC=%{_datadir}/logo
- 
- 
+
+
 %install
 %makeinstall
+
 install -m0755 logo-wx ${RPM_BUILD_ROOT}%{_bindir}
 mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/info
@@ -119,5 +120,5 @@
 install -p -m 644 ucblogo.png \
 	$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/256x256/apps
- 
+
 # install emacs files
 make -C emacs install BINDIR=${RPM_BUILD_ROOT}%{_bindir} EMACSDIR=${RPM_BUILD_ROOT}%{_datadir}/emacs/site-lisp/logo
@@ -127,11 +128,11 @@
 rm -f ${RPM_BUILD_ROOT}%{_datadir}/emacs/site-lisp/logo/README
 rm -f ${RPM_BUILD_ROOT}%{_datadir}/emacs/site-lisp/logo/*.el
- 
- 
+
+
 %post
 #/sbin/install-info %{_infodir}/loops.info --entry="* Loops: (loops).	Berkeley Logo Object Oriented Programming System." --section="Programming Languages" %{_infodir}/dir 2>/dev/null || :
 /sbin/install-info %{_infodir}/ucblogo.info --entry="* UCBLogo: (ucblogo).	Berkeley Logo User Manual." --section="Programming Languages"  %{_infodir}/dir 2>/dev/null || :
- 
- 
+
+
 %preun
 if [ $1 = 0 ]; then
@@ -139,6 +140,6 @@
     /sbin/install-info --delete  %{_infodir}/ucblogo.info --entry="* UCBLogo: (ucblogo).	Berkeley Logo User Manual." --section="Programming Languages"  %{_infodir}/dir 2>/dev/null || :
 fi
- 
- 
+
+
 %files
 %doc docs/html docs/usermanual.pdf README gpl plm changes.txt
@@ -150,126 +151,125 @@
 %{_datadir}/applications/%{name}.desktop
 %{_datadir}/icons/hicolor/256x256/apps/%{name}.png
- 
+
 %files emacs
 %doc emacs/README
 %{_datadir}/emacs/site-lisp/logo
 %{_datadir}/emacs/site-lisp/site-start.d
- 
- 
+
+
 %changelog
 * Fri Sep 13 2019 Joshua Cogliati <jrincayc> - 6.0-26
 - Updated to support wxGTK3, added man page and desktop file
- 
+
 * Sat Jul 14 2018 Fedora Release Engineering <releng> - 6.0-25
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
- 
+
 * Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain> - 6.0-24
 - Escape macros in %%changelog
+
 * Thu Aug 03 2017 Fedora Release Engineering <releng> - 6.0-23
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
- 
+
 * Thu Jul 27 2017 Fedora Release Engineering <releng> - 6.0-22
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
- 
+
 * Sat Feb 11 2017 Fedora Release Engineering <releng> - 6.0-21
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
- 
+
 * Tue Nov 08 2016 Filipe Rosset <rosset.filipe> - 6.0-20
 - Spec clean up + rebuilt
- 
+
 * Sat Jul  9 2016 Gérard Milmeister <gemi> - 6.0-19
 - Fixed include problem
- 
+
 * Fri Feb 05 2016 Fedora Release Engineering <releng> - 6.0-18
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
- 
+
 * Fri Jun 19 2015 Fedora Release Engineering <rel-eng.org> - 6.0-17
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
- 
+
 * Sat May 02 2015 Kalev Lember <kalevlember> - 6.0-16
 - Rebuilt for GCC 5 C++11 ABI change
- 
+
 * Mon Aug 18 2014 Fedora Release Engineering <rel-eng.org> - 6.0-15
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
- 
+
 * Tue Jul  1 2014 Matěj Cepl <mcepl> - 6.0-14
 - Fix FTBFS (#992830) using patch by Dave Allan
- 
+
 * Sun Jun 08 2014 Fedora Release Engineering <rel-eng.org> - 6.0-13
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
- 
+
 * Sun Aug 04 2013 Fedora Release Engineering <rel-eng.org> - 6.0-12
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
- 
+
 * Fri Feb 15 2013 Fedora Release Engineering <rel-eng.org> - 6.0-11
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
- 
+
 * Sun Jul 22 2012 Fedora Release Engineering <rel-eng.org> - 6.0-10
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
- 
+
 * Sat Jan 14 2012 Fedora Release Engineering <rel-eng.org> - 6.0-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
- 
+
 * Mon Feb 07 2011 Fedora Release Engineering <rel-eng.org> - 6.0-8
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
- 
+
 * Mon Feb  7 2011 Gérard Milmeister <gemi> - 6.0-7
 - rebuild for f14
 - fixed manual building makefile
- 
+
 * Wed Jul 14 2010 Dan Horák <dan> - 6.0-6
 - rebuilt against wxGTK-2.8.11-2
- 
+
 * Sun Jul 26 2009 Fedora Release Engineering <rel-eng.org> - 6.0-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
- 
+
 * Wed Feb 25 2009 Fedora Release Engineering <rel-eng.org> - 6.0-4
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
- 
+
 * Sat Nov 22 2008 Gerard Milmeister <gemi> - 6.0-2
 - re-add emacs logo-mode from previous release as a separate package
- 
+
 * Thu Nov 20 2008 Gerard Milmeister <gemi> - 6.0-1
 - new release 6.0
- 
+
 * Mon Feb 18 2008 Fedora Release Engineering <rel-eng> - 5.5-10
 - Autorebuild for GCC 4.3
- 
+
 * Thu Feb 22 2007 Gerard Milmeister <gemi> - 5.5-9
 - add patch for fixing ncurses problem
- 
+
 * Wed Feb 21 2007 Gerard Milmeister <gemi> - 5.5-8
 - add fix to use cursesw instead of curses
- 
+
 * Wed Feb 21 2007 Gerard Milmeister <gemi> - 5.5-7
 - replace BR libtermcap-devel by BR ncurses-devel
- 
+
 * Sun Feb 11 2007 Gerard Milmeister <gemi> - 5.5-6
 - rebuild to use ncurses
- 
+
 * Mon Aug 28 2006 Gerard Milmeister <gemi> - 5.5-5
 - Rebuild for FE6
- 
+
 * Thu Jun 29 2006 Gerard Milmeister <gemi> - 5.5-4
 - added BR texi2html
 - added BR libXt-devel
 - added include and libs options for X11 to configure
- 
+
 * Sat Jun  3 2006 Gerard Milmeister <gemi> - 5.5-3
 - added BuildReq: texinfo-tex
 - make owned the directory %%{_datadir}/emacs/site-lisp/site-start.d
+
 * Sun Aug 14 2005 Gerard Milmeister <gemi> - 5.5-2
 - New Version 5.5
- 
+
 * Mon Mar  7 2005 Gerard Milmeister <gemi> - 5.4-1
 - New Version 5.4
- 
+
 * Thu Feb 26 2004 Gerard Milmeister <gemi> - 0:5.3-0.fdr.2
 - Install info files
 - Install emacs site-start file
- 
+
 * Sun Oct 26 2003 Gerard Milmeister <gemi> - 0:5.3-0.fdr.1
 - First Fedora release
-Powered by Pagure 5.7.9
-Documentation • File an Issue • About this Instance • SSH Hostkey/Fingerprint
-© 2014-2019 Red Hat, Inc. and others.


Generated by fedora-review 0.7.2 (65d36bb) last change: 2019-04-09
Command line :/bin/fedora-review -n ucblogo
Buildroot used: fedora-rawhide-x86_64
Active plugins: Shell-api, Generic, C/C++
Disabled plugins: Java, PHP, SugarActivity, Haskell, fonts, R, Ocaml, Python, Perl
Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH

Comment 6 J. Scheurich 2019-09-18 02:01:24 UTC
[!]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[!]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated", "GPL (v2 or later) (with incorrect FSF
     address)", "*No copyright* GPL (v2 or later) (with incorrect FSF
     address)", "GPL (v2)". 600 files have unknown license. Detailed output
     of licensecheck in /home/mufti/review-ucblogo/licensecheck.txt
[!]: License file installed when any subpackage combination is installed.

Package do not contain a licence file

Comment 7 Josh Cogliati 2019-09-18 02:24:59 UTC
The license is in the source package in the file gpl.  I added a %license with that to the ucblogo.spec

I do plan on working on the warnings and submitting them to upstream.  Upstream is between releases, so I need to adapt the patches to that source code repository version first, and then I can work on the warnings and other problems.

Thank you for the review.

Comment 8 Robert-André Mauchin 🐧 2019-09-23 14:56:12 UTC
 - %makeinstall is forbidden, use %make_install

[!]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
     Note: %makeinstall used in %install section

 - Each patch must be justified either with a comment or a link to a bug report/merge request:

[!]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.

 - Group: is not used in Fedora

 - Source1:        logo-mode.tar.gz

Where does this come from? How is it generated? You must document it in order to be reproducible.

[!]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments

 - Add Requires: hicolor-icon-theme to own the icons directories.

 - Add Requires: emacs-filesystem to own the emacs directories

[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/emacs,
     /usr/share/emacs/site-lisp, /usr/share/icons/hicolor/256x256,
     /usr/share/icons/hicolor/256x256/apps, /usr/share/icons/hicolor

 - Add BuildRequires:  emacs and use %{_emacs_sitelispdir} instead of %{_datadir}/emacs/site-lisp/

Comment 9 Josh Cogliati 2019-09-24 03:14:53 UTC
FYI: logo-mode.tar.gz is a copy of a directory from ucblogo-5.5.tar.gz from
ftp://ftp.cs.berkeley.edu/pub/ucblogo/old/ucblogo-5.5.tar.gz

Comment 10 Robert-André Mauchin 🐧 2019-09-27 14:09:52 UTC
(In reply to Josh Cogliati from comment #9)
> FYI: logo-mode.tar.gz is a copy of a directory from ucblogo-5.5.tar.gz from
> ftp://ftp.cs.berkeley.edu/pub/ucblogo/old/ucblogo-5.5.tar.gz

You need to add a commment detailing how to get the tar.gz from that source or provide a script that do it as a Source

Comment 11 Josh Cogliati 2019-09-28 00:51:18 UTC
First of all, updated urls:
Spec URL: https://src.fedoraproject.org/fork/jrincayc/rpms/ucblogo/blob/simplify_package/f/ucblogo.spec
SRPM URL: http://jjc.freeshell.org/ucblogo-6.0-27.fc30.src.rpm


>[!]: Package use %makeinstall only when make install DESTDIR=... doesn't
>     work.
>     Note: %makeinstall used in %install section

make install DESTDIR does not work, so I added a comment to that effect.


> [!]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.

I added links to the upstream bugs/comments for the patches I created.
I also have created a branch on github for this and emailed the upstream author:
https://github.com/jrincayc/ucblog-code-beta/tree/wx_and_other_updates

> - Group: is not used in Fedora

Fixed via removing Group:

> - Source1:        logo-mode.tar.gz

> Where does this come from? How is it generated? You must document it in order to be reproducible.

I Removed the emacs logo mode. 

> - Add Requires: hicolor-icon-theme to own the icons directories.

Fixed.

> - Add Requires: emacs-filesystem to own the emacs directories

Fixed via removing logo-mode.


> - Add BuildRequires:  emacs and use %{_emacs_sitelispdir} instead of %{_datadir}/emacs/site-lisp/

Fixed via removing logo-mode.

I also split out the extra documentation into a -doc package because it was over 1 MB.

I believe this fixes all the current issues that people have found with the package.

Thank you for all the reviews.

Comment 12 Robert-André Mauchin 🐧 2019-09-30 14:21:38 UTC
 - Your doc subpackage should be noarch:

%package doc
Summary: Documentation for ucblogo
Requires:       %{name} = %{version}-%{release}
BuildArch:      noarch

%description doc
This package includes HTML and PDF documentation for ucblogo
and the Program Logic Manual (plm)

 - Notify upstream about the obsoletes FSF address:

ucblogo.x86_64: E: incorrect-fsf-address /usr/share/doc/ucblogo/README
ucblogo.x86_64: E: incorrect-fsf-address /usr/share/licenses/ucblogo/gpl

 - Don't mix tabs and spaces, convert everything to spaces or tabs:

ucblogo.src:7: W: mixed-use-of-spaces-and-tabs (spaces: line 7, tab: line 1)



Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Package does not use a name that already exists.
  Note: A package with this name already exists. Please check
  https://src.fedoraproject.org/rpms/ucblogo
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/Naming/#_conflicting_package_names


===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated", "GPL (v2 or later) (with incorrect FSF
     address)", "*No copyright* GPL (v2 or later) (with incorrect FSF
     address)". 590 files have unknown license. Detailed output of
     licensecheck in /home/bob/packaging/review/ucblogo/review-
     ucblogo/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Texinfo files are installed using install-info in %post and %preun if
     package has .info files.
     Note: Texinfo .info file(s) in ucblogo
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
     Note: %makeinstall used in %install section
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 2 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package is named using only allowed ASCII characters.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[!]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 2570240 bytes in /usr/share
[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: ucblogo-6.0-27.fc32.x86_64.rpm
          ucblogo-doc-6.0-27.fc32.x86_64.rpm
          ucblogo-debuginfo-6.0-27.fc32.x86_64.rpm
          ucblogo-debugsource-6.0-27.fc32.x86_64.rpm
          ucblogo-6.0-27.fc32.src.rpm
ucblogo.x86_64: E: incorrect-fsf-address /usr/share/doc/ucblogo/README
ucblogo.x86_64: E: incorrect-fsf-address /usr/share/licenses/ucblogo/gpl
ucblogo.x86_64: W: no-manual-page-for-binary logo-wx
ucblogo.src:59: W: macro-in-comment %setup
ucblogo.src:7: W: mixed-use-of-spaces-and-tabs (spaces: line 7, tab: line 1)
5 packages and 0 specfiles checked; 2 errors, 3 warnings.

Comment 13 Josh Cogliati 2019-10-01 03:07:31 UTC
(In reply to Robert-André Mauchin from comment #12)
>  - Your doc subpackage should be noarch:

The doc subpackage is now noarch.

> %package doc
> Summary: Documentation for ucblogo
> Requires:       %{name} = %{version}-%{release}
> BuildArch:      noarch
> 
> %description doc
> This package includes HTML and PDF documentation for ucblogo
> and the Program Logic Manual (plm)
> 
>  - Notify upstream about the obsoletes FSF address:
> 
> ucblogo.x86_64: E: incorrect-fsf-address /usr/share/doc/ucblogo/README
> ucblogo.x86_64: E: incorrect-fsf-address /usr/share/licenses/ucblogo/gpl

Upstream will switch to GPL 3 with the next release and fix the addresses.

>  - Don't mix tabs and spaces, convert everything to spaces or tabs:
> 
> ucblogo.src:7: W: mixed-use-of-spaces-and-tabs (spaces: line 7, tab: line 1)
> 
Switched  to all spaces.

So besides the fsf address, these are fixed.

Comment 14 Robert-André Mauchin 🐧 2019-10-01 13:52:27 UTC
Package approved. You still need to find a sponsor: https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group

Comment 15 Robert-André Mauchin 🐧 2019-11-19 15:57:14 UTC
Sponsored + refreshing flag.

Comment 16 Fedora Update System 2019-11-22 16:29:27 UTC
FEDORA-2019-3f96c6d76d has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-3f96c6d76d

Comment 17 Fedora Update System 2019-11-23 02:39:18 UTC
ucblogo-6.0-27.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-3f96c6d76d

Comment 18 Fedora Update System 2019-12-01 00:46:04 UTC
ucblogo-6.0-27.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.


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