Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP1
dosemu
dosemu.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File dosemu.spec of Package dosemu
# # spec file for package dosemu # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: dosemu BuildRequires: SDL-devel BuildRequires: bin86 BuildRequires: bison BuildRequires: flex BuildRequires: libsndfile-devel BuildRequires: libtool BuildRequires: mkfontdir BuildRequires: slang-devel BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xxf86vm) %if 0%{?suse_version} > 1130 BuildRequires: gpm-devel %else BuildRequires: gpm %endif %if 0%{?suse_version} > 1220 BuildRequires: bdftopcf %endif ExclusiveArch: %ix86 x86_64 Version: 1.4.0.1.r2065 Release: 0 Summary: The DOS Emulator License: GPL-2.0+ Group: System/Emulators/PC Source: %name-%version.tgz Source1: dosemu-freedos-bin.tgz Patch1: dosemu-1.4.0-destbufferoverflow.patch Patch2: force-vm86-emu.patch Patch3: dosemu-flex.patch Patch4: dosemu-skip-glibc-test.patch # PATCH-FIX-UPSTREAM https://github.com/stsp/dosemu2/pull/386 https://github.com/stsp/dosemu2/commit/8d7ab25daf6f2d8ca09e1598fd11de2d8460255e Patch5: reproducible.patch Url: http://www.dosemu.org BuildRoot: %{_tmppath}/%{name}-%{version}-build %description This package allows MS-DOS programs to be run in Linux. A virtual machine (the DOS box) provides the necessary BIOS functions and emulates most of the chip devices (for example: timer, interrupt, and keyboard controller). Documentation can be found in /usr/share/doc/packages/dosemu, the man page, and in the sources. Starting with version 1.0.2, DOSEMU configuration files are no longer in /etc but in the user's HOME directory in ~/dosemu. DOSEMU no longer has the SUID bit set, so if you need access to hardware that requires root privileges, you must run DOSEMU as root. If you rely on the old configuration scheme, you can get it back by using dosemu.bin instead of dosemu (dos and xdos have been renamed to dosemu and xdosemu). The parameter $_hogthreshold in ~/dosemu/conf/dosemu.conf defines how often an idling DOSEMU should return the CPU to Linux and its default value (1) means "all power to Linux." The higher this value is, the more CPU power is dedicated to DOSEMU. The value (0) disables this feature completely, hence: "all power to DOSEMU." If that is not fast enough, you (running as UID root) can get maximum performance with nice -19 dos -D-a 2>/dev/null Do not be surprised if other Linux processes then run very sluggishly. On sensitive systems, you should never offer an suid-root DOSEMU as world readable. Even if the '$_secure' option in dosemu.conf is set, it is still possible that some DPMI clients (most likely Dos4gw based ones) may succeed in accessing the whole user space (including DOSEMU code) and thus gain root access. A comfortable solution is to have two copies of the DOSEMU binary, a non-suid-root one for world access and a suid-root one (protected by file permissions) only available to trusted users. %prep %setup -q -n %name-1.4.0.1 %patch1 %patch2 -p1 %if 0%{?suse_version} > 1220 && 0%{?suse_version} < 1321 %patch3 -p1 %endif %patch4 -p1 %patch5 -p1 %build autoreconf -fiv export CFLAGS="%optflags -fgnu89-inline" %configure --sysconfdir=%{_sysconfdir}/%{name} --with-docdir=%{_docdir}/dosemu \ --with-fdtarball=%{_sourcedir}/dosemu-freedos-bin.tgz make %{?_smp_mflags} %install make DESTDIR=%{buildroot} install %_fixowner %{buildroot} %_fixgroup %{buildroot} %_fixperms %{buildroot} %find_lang %{name} --all-name --with-man %files -f %{name}.lang %defattr(-,root,root) %{_bindir}/* %{_mandir}/man1/* %lang(ru) %dir %{_mandir}/ru %{_libdir}/dosemu %{_datadir}/dosemu %doc %{_docdir}/dosemu %dir %{_sysconfdir}/dosemu %dir %{_sysconfdir}/dosemu/drives %config(noreplace) %{_sysconfdir}/dosemu/dosemu.conf %config(noreplace) %{_sysconfdir}/dosemu/dosemu.users %config(noreplace) %{_sysconfdir}/dosemu/global.conf %config(noreplace) %{_sysconfdir}/dosemu/drives/c %config(noreplace) %{_sysconfdir}/dosemu/drives/d %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor