Bug 478806 - Review Request: simh - A highly portable, multi-system emulator
Review Request: simh - A highly portable, multi-system emulator
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-01-05 01:31 EST by Lucian Langa
Modified: 2010-01-09 10:58 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-01-09 10:58:59 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
tibbs: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Lucian Langa 2009-01-05 01:31:45 EST
Spec URL: http://lucilanga.fedorapeople.org/simh.spec
SRPM URL: http://lucilanga.fedorapeople.org/simh-3.8.0-1.fc10.src.rpm
Description: SIMH is a historical computer simulation system. It consists of simulators
for approximately 33 different computers, all written around a common user
interface package and set of supporting libraries.
SIMH can be used to simulate any computer system for which sufficient detail
is available, but the focus to date has been on simulating computer systems
of historic interest.

SIMH implements simulators for:

* Data General Nova, Eclipse
* Digital Equipment Corporation PDP-1, PDP-4, PDP-7, PDP-8, PDP-9, PDP-10,
  PDP-11, PDP-15, VAX
* GRI Corporation GRI-909, GRI-99
* IBM 1401, 1620, 1130, 7090/7094, System 3
* Interdata (Perkin-Elmer) 16b and 32b systems
* Hewlett-Packard 2114, 2115, 2116, 2100, 21MX, 1000
* Honeywell H316/H516
* MITS Altair 8800, with both 8080 and Z80
* Royal-Mcbee LGP-30, LGP-21
* Scientific Data Systems SDS 940
Comment 1 Jason Tibbitts 2009-03-07 18:46:28 EST
I like the idea of this package, but emulators have historically been problematic for Fedora.  The issue is licenses for ROMs, firmware, boot media or what have you which is required for the software to actually be useful.

Please see http://fedoraproject.org/wiki/Licensing:SoftwareTypes#Emulators and make sure that this software meets the requirements.  If you have questions and would like the Legal folks to look at it, please add "FE-Legal" to the "Blocks:" field above.
Comment 2 Lucian Langa 2009-03-08 16:27:36 EDT
VAX emulation contained firmware named ka655.bin which I removed from the package.
I also removed emulation for Ibm1130 because license was somewhat vague. The other files from this package are licensed under MIT, no other ROM images or firmware are provided by this package.
Comment 3 Jason Tibbitts 2009-03-08 17:35:13 EDT
Right, but does what remains actually do anything without ROMs, OS images or anything else that you'd have to go elsewhere to get?
Comment 4 Lucian Langa 2009-03-12 02:39:27 EDT
Well most of this computers come from late '60 and early '70 when computers had large front panels of switches allowing the user to enter programs directly from the panel into memory. This package allows to examine and deposit memory or registers of such systems.

There are ways of creating your own images to boot from. There is also a tools package (simtools) available for this computers that allows cross-compiling and image manipulation.

Also there are lots of software available for this machines that are public domain and completely unrestricted.
Comment 5 Dan Horák 2009-03-12 03:14:13 EDT
(In reply to comment #4)
> Also there are lots of software available for this machines that are public
> domain and completely unrestricted.  

Available e.g. at http://simh.trailing-edge.com/software.html
Comment 6 Dan Horák 2009-03-12 03:56:51 EDT
(In reply to comment #2)
> I also removed emulation for Ibm1130 because license was somewhat vague. The

Are you referring to missing word "distribute" in the first sentence? I would ask on fedora-legal first and then tried to contact the author. The last sentence contains both "modification" and "distribution", so maybe he will be willing to modify the license.
Comment 7 Lucian Langa 2009-03-12 05:18:16 EDT
> (In reply to comment #6)
> Are you referring to missing word "distribute" in the first sentence? I would
> ask on fedora-legal first and then tried to contact the author. The last
> sentence contains both "modification" and "distribution", so maybe he will be
> willing to modify the license.
Yes it is vague, it does not say anything about the right to distribute.
Changing the license might be a little difficult as Ibm1130 is a separate package that is included in simh and usually lags behind Ibm1130 latest package. Even if I can contact Ibm1130 upstream I will have to wait for simh to sync with Ibm1130 package.
Comment 8 Jason Tibbitts 2009-09-18 13:25:16 EDT
Given all of the legal issues surrounding this package, I suspect any reviewer is going to want the legal folks to sign off first.  I've blocked FE-Legal.
Comment 9 Tom "spot" Callaway 2009-10-06 13:51:51 EDT
Citing the emulator rule:

"If it requires ROMs (or image files in any format) of copyrighted or patented material to be useful (and the owners of those copyrights and patents have not given their express written permission), then it's not permitted."

In reviewing this, the intent from upstream is:

"The goal of the project is to create highly portable system simulators and to publish them as freeware on the Internet, with freely available copies of significant or representative software."

Also, there is a significant amount of software (many versions of UNIX) for this emulator which are under Fedora acceptable licenses, and none of the software prominently available seems to be stolen/pirated.

So, it passes that test.

*****

The licensing is mostly MIT, but there is also some GPL+ (literally, v1+) code in there, notably in AltairZ80/. The license tag should be:

License: MIT and GPL+

(each target is compiled into its own binary, so only AltairZ80 is GPL+)

*****

Until the firmware license for the IBM1130 is resolved, please leave it out (and the VAX firmware). Since they are removed, I see no other legal issues here. Lifting FE-Legal.
Comment 10 Lucian Langa 2009-10-08 13:58:17 EDT
- Updated package to the latest version (3.8.1).
- Updated license
- Removed separate doc files
- Several spec cleanups.


Updated files:

http://lucilanga.fedorapeople.org/simh.spec
http://lucilanga.fedorapeople.org/simh-3.8.1-1.fc12.src.rpm
Comment 11 Jason Tibbitts 2009-11-07 22:44:20 EST
The generate-tarball.sh file seems to have nothing to do with this package.

It seems that you've done more than just remove files from the tarball.  The change to the makefile is the kind of thing that's better done as a patch
Comment 12 Lucian Langa 2009-11-08 05:09:59 EST
(In reply to comment #11)
> The generate-tarball.sh file seems to have nothing to do with this package.
I'm having the same problem over and over perhaps because the naming of this file.


> It seems that you've done more than just remove files from the tarball.  The
> change to the makefile is the kind of thing that's better done as a patch  

In the makfile I just removed ibm1130 from ALL target. Do I need to specifically remove entire ibm1130 makefile definitions ?

Updated file:
http://lucilanga.fedorapeople.org/simh-3.8.1-2.fc12.src.rpm
Comment 13 Jason Tibbitts 2009-11-12 18:47:00 EST
I think you misunderstood; I don't think it's necessary to remove all mention of ibm1130 from the makefile, I just found changes to the "nopatents" tarball (which is misnamed, since the issue isn't one of patents) that went beyond actually deleting files.  Now that I can see the script which generates that file, I can see you sed that out, which is an unusual way to do it but which doesn't violate any guidelines as far as I know.

%description mentions the removed IBM 1130 support.  I also don't know if the 33 number is still accurate.

In a multiple licensing scenario, you need to include some comment in your spec indicating which files are under which license.  http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Multiple_Licensing_Scenarios
Spot provided that information in comment 9 so this should be a trivial addition.

I did try to test these, but honestly I've no idea what I'm doing so I can't really do that.  I did run simh-altair and entered "go"; it segfaulted immediately.  simh-hp2100 just spun forever; I let it run for five minutes and it did nothing.  The others seemed to behave as I'd expect (breaking with HALT instructions and the like.  Can you check those two and verify that they work as expected for you?

* source files match upstream (confirmed by manual inspection). 
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summary is OK.                                                              
X description still mentions removed content.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text not included upstream.
* latest version is being packaged.
* BuildRequires are proper.
* compiler flags are appropriate.
* %clean is present.
* package builds in mock (rawhide, x86_64).
* package installs properly.
* debuginfo package looks complete.
* rpmlint is silent.
* final provides and requires are sane:
   simh = 3.8.1-2.fc12
   simh(x86-64) = 3.8.1-2.fc12
  =
   libpcap.so.1()(64bit)

* owns the directory it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no generically named files
* code, not content.
* documentation is small, so no -doc subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* no headers.
* no pkgconfig files.
* no static libraries.
* no libtool .la files.
Comment 14 Lucian Langa 2009-11-14 14:36:30 EST
(In reply to comment #13)
> I did try to test these, but honestly I've no idea what I'm doing so I can't
> really do that.  I did run simh-altair and entered "go"; it segfaulted
> immediately.
Looks like a valid bug there, I will address it upstream.

I've updated the files with regard to above comments.

http://lucilanga.fedorapeople.org/simh.spec
http://lucilanga.fedorapeople.org/simh-3.8.1-3.fc12.src.rpm
Comment 15 Jason Tibbitts 2009-11-16 17:39:50 EST
Now I'm getting a broken debuginfo package; it's missing the sources causing rpmlint to complain:
  simh-debuginfo.x86_64: E: debuginfo-without-sources

Looking at the build log, I see:

+ make -j16 -e 'OPT=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' USE_NETWORK=1
make: Nothing to be done for `all'.

and no calls to the compiler, which is pretty odd.  Then I checked your tarball, and it seems to have the compiled sources already there in a BIN directory.
Comment 16 Lucian Langa 2009-11-17 01:11:38 EST
I've added the wrong source file.
Hopefully should be ok now:

http://lucilanga.fedorapeople.org/simh.spec
http://lucilanga.fedorapeople.org/simh-3.8.1-4.fc12.src.rpm
Comment 17 Jason Tibbitts 2010-01-07 18:03:23 EST
It appears that I've somehow missed your response.  Sorry about that.

The latest package builds fine, rpmlint is silent, and it seems that all of my comments have been addressed.

APPROVED

Sorry for this taking so long.
Comment 18 Lucian Langa 2010-01-08 01:23:44 EST
Thank you for the review.

New Package CVS Request
=======================
Package Name: simh
Short Description: A highly portable, multi-system emulator
Owners: lucilanga
Branches: F-11 F-12 EL-5
InitialCC:
Comment 19 Kevin Fenzi 2010-01-08 23:51:13 EST
cvs done.

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