File opencbm.spec of Package opencbm
#
# RPM SPEC file for OpenCBM
#
# 03/26/2020, Spiro Trikaliotis <obs-opencbm@trikaliotis.net>
#
###############################################################################
# Main package #
###############################################################################
Summary: Library and driver for accessing CBM peripherals
%define name opencbm
Name: %{name}
%define version 0.4.99.104.git.1732554066.d4a1ce4
Version: 0.4.99.104.git.1732554066.d4a1ce4
Release: 1
License: GPL-2.0
Group: Hardware/Other
Source: %{name}-%{version}.tar.gz
Vendor: Spiro Trikaliotis <obs-opencbm@trikaliotis.net>
#Packager: Spiro Trikaliotis <obs-opencbm@trikaliotis.net>
URL: https://opencbm.trikaliotis.net/
Source1: opencbm-rpmlintrc
%ifos linux
%ifnarch i586
BuildRequires: sgmltool
%endif
BuildRequires: texinfo
BuildRequires: libusb-1_0-devel
BuildRequires: ncurses-devel
BuildRequires: cc65
%endif
BuildRoot: %{_topdir}/%{name}-%{version}
%description
Win 7/8/10, and Linux/i386/AMD64 kernel driver and development library to
control serial CBM devices, such as the Commodore 1541 disk drive, connected to
the PC's parallel port via a XM1541 or XA1541 cable. Fast disk copier included.
Successor of cbm4linux. Also supports the XU1541 and the XUM1541 (a.k.a.
"ZoomFloppy") devices.
%post
/sbin/ldconfig
/usr/lib/opencbm/plugin_helper_tools rebuild /etc
%preun
/usr/lib/opencbm/plugin_helper_tools rebuild /etc
%postun -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
# doc LICENSE
%doc opencbm/README
%doc opencbm/docs/opencbm.sgml
# doc opencbm/docs/opencbm.txt
# doc opencbm/docs/opencbm.dvi
# doc opencbm/docs/opencbm.pdf
# doc opencbm/docs/html/
# attr(755,root,root) /usr/bin/*
%attr(755,root,root) /usr/bin/cbmcopy
%attr(755,root,root) /usr/bin/cbmctrl
%attr(755,root,root) /usr/bin/cbmformat
%attr(755,root,root) /usr/bin/cbmforng
%attr(755,root,root) /usr/bin/cbmlinetester
%attr(755,root,root) /usr/bin/cbmread
%attr(755,root,root) /usr/bin/cbmrpm41
%attr(755,root,root) /usr/bin/cbmwrite
%attr(755,root,root) /usr/bin/d64copy
%attr(755,root,root) /usr/bin/d82copy
%attr(755,root,root) /usr/bin/frm_analyzer
%attr(755,root,root) /usr/bin/imgcopy
%attr(755,root,root) /usr/bin/samplelibtransf
%attr(755,root,root) /usr/bin/testlines
%attr(755,root,root) /usr/bin/opencbm_plugin_helper_tools
%attr(-, root,root) /usr/lib/opencbm/plugin_helper_tools
%attr(755,root,root) /usr/lib/opencbm/install_plugin.sh
%dir /usr/lib/opencbm
%dir /usr/lib/opencbm/plugin
%dir /etc/opencbm.conf.d
%config /etc/opencbm.conf
%config /etc/opencbm.conf.d/00opencbm.conf
# attr(755,root,root) /usr/lib/libcbm4linux*
%attr(755,root,root) /usr/lib/libopencbm.so*
/usr/share/man/man1/cbmcopy.1.gz
/usr/share/man/man1/cbmctrl.1.gz
/usr/share/man/man1/cbmformat.1.gz
/usr/share/man/man1/cbmforng.1.gz
/usr/share/man/man1/cbmlinetester.1.gz
/usr/share/man/man1/cbmread.1.gz
/usr/share/man/man1/cbmrpm41.1.gz
/usr/share/man/man1/cbmwrite.1.gz
/usr/share/man/man1/d64copy.1.gz
/usr/share/man/man1/d82copy.1.gz
/usr/share/man/man1/frm_analyzer.1.gz
/usr/share/man/man1/imgcopy.1.gz
/usr/share/man/man1/samplelibtransf.1.gz
/usr/share/man/man1/testlines.1.gz
###############################################################################
# Subpackage devel #
###############################################################################
%package devel
Requires: %{name} = %{version}
License: GPL-2.0
Summary: Devel files for OpenCBM
Group: Development/Languages/C and C++
%description devel
This package contains headers and libraries to create own projects on top of OpenCBM.
%files devel
%defattr(644,root,root,755)
/usr/include/cbm4linux.h
/usr/include/cbmcopy.h
/usr/include/d64copy.h
/usr/include/opencbm.h
/usr/lib/libcbm4linux.a
/usr/lib/libopencbm.a
#/usr/lib/opencbm/plugin/libopencbm-xa1541.a
/usr/lib/opencbm/plugin/libopencbm-xu1541.a
/usr/lib/opencbm/plugin/libopencbm-xum1541.a
%attr(755,root,root) /usr/lib/libopencbm.so
###############################################################################
# Subpackage xa1541 #
###############################################################################
%package xa1541
Requires: %{name} = %{version}
License: GPL-2.0
Summary: Specific files for xa1541 plugin of OpenCBM
Group: Hardware/Other
%description xa1541
This package contains files specific to the xa1541 device.
%files xa1541
%defattr(644,root,root,755)
# config /etc/opencbm.conf.d/10xa1541.conf
/usr/lib/udev/rules.d/45-opencbm-xa1541.rules
#/usr/lib/opencbm/plugin/libopencbm-xa1541.so*
#/etc/ld.so.conf
# dir /usr/lib/opencbm/plugin/xa1541
# post xa1541
#/usr/lib/opencbm/install_plugin.sh install xa1541
# preun xa1541
#/usr/lib/opencbm/install_plugin.sh uninstall xa1541
###############################################################################
# Subpackage xu1541 #
###############################################################################
%package xu1541
Requires: %{name} = %{version}
License: GPL-2.0
Summary: Specific files for xu1541 plugin of OpenCBM
Group: Hardware/Other
%description xu1541
This package contains files specific to the xu1541 device.
%files xu1541
%defattr(644,root,root,755)
%config /etc/opencbm.conf.d/10xu1541.conf
/usr/lib/udev/rules.d/45-opencbm-xu1541.rules
%attr(755,root,root) /usr/lib/opencbm/plugin/libopencbm-xu1541.so*
/usr/lib/opencbm/plugin/xu1541/read_event_log
/usr/lib/opencbm/plugin/xu1541/usb_echo_test
%dir /usr/lib/opencbm/plugin/xu1541
# post xu1541
#/usr/lib/opencbm/install_plugin.sh install xu1541
# preun xu1541
#/usr/lib/opencbm/install_plugin.sh uninstall xu1541
###############################################################################
# Subpackage xum1541 #
###############################################################################
%package xum1541
Requires: %{name} = %{version}
License: GPL-2.0
Summary: Specific files for xum1541 plugin of OpenCBM
Group: Hardware/Other
%description xum1541
This package contains files specific to the xum1541 device.
%files xum1541
%defattr(644,root,root,755)
%attr(755,root,root) /usr/bin/xum1541cfg
%config /etc/opencbm.conf.d/10xum1541.conf
/usr/lib/udev/rules.d/45-opencbm-xum1541.rules
%attr(755,root,root) /usr/lib/opencbm/plugin/libopencbm-xum1541.so*
/usr/share/man/man1/xum1541cfg.1.gz
# dir /usr/lib/opencbm/plugin/xum1541
# post xum1541
#/usr/lib/opencbm/install_plugin.sh install xum1541
# preun xum1541
#/usr/lib/opencbm/install_plugin.sh uninstall xum1541
###############################################################################
# Subpackage nibtools #
###############################################################################
%package nibtools
Requires: %{name} = %{version}
License: GPL-2.0
Summary: nibtools to be used with OpenCBM
Group: Hardware/Other
%description nibtools
This package contains the nibtools, a disk transfer program designed for copying original disks and converting into the G64 and D64 disk image formats. These disk images may be used on C64 emulators like VICE or CCS64 and can be transferred back to real disks.
%files nibtools
%defattr(644,root,root,755)
%attr(755,root,root) /usr/bin/nibconv
%attr(755,root,root) /usr/bin/nibread
%attr(755,root,root) /usr/bin/nibrepair
%attr(755,root,root) /usr/bin/nibscan
%attr(755,root,root) /usr/bin/nibsrqtest
%attr(755,root,root) /usr/bin/nibwrite
###############################################################################
# Documentation subpackage #
###############################################################################
%package doc
Requires: %{name} = %{version}
License: GPL-2.0
Summary: Documentation for OpenCBM
Group: Documentation/Other
%description doc
This package contains the documentation for the cc65 C compiler, mostly
in HTML format. Other formats can be generated from the sources.
%files doc
%defattr(644,root,root,755)
###############################################################################
# Build #
###############################################################################
%prep
%setup -q
%build
# Binaries
#GIT_SHA=`basename \`pwd\`|sed -e "s/^cc65.*git\.[0-9][0-9]*\.//"`
#make -s BUILD_ID="Git $GIT_SHA" PREFIX=/usr datadir=%{_libdir}/cc65 bindir=%{_bindir} all doc
make -f LINUX/Makefile DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr PLUGINDIR=/usr/lib/opencbm/plugin MANDIR=/usr/share/man/man1 INFODIR=/usr/share/info UDEVRULESDIR=/usr/lib/udev/rules.d/ all
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/lib/udev/rules.d/
make -f LINUX/Makefile DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr PLUGINDIR=/usr/lib/opencbm/plugin MANDIR=/usr/share/man/man1 INFODIR=/usr/share/info UDEVRULESDIR=/usr/lib/udev/rules.d/ install-all
install -D debian/install_plugin.sh $RPM_BUILD_ROOT/usr/lib/opencbm/
ln -s -r $RPM_BUILD_ROOT/usr/bin/opencbm_plugin_helper_tools $RPM_BUILD_ROOT/usr/lib/opencbm/plugin_helper_tools
sed -i -e "s/default=.*/default=/" $RPM_BUILD_ROOT/etc/opencbm.conf.d/00opencbm.conf
%clean
rm -rf $RPM_BUILD_ROOT
%changelog
* Sun Jan 23 2022 Spiro Trikaliotis <obs-opencbm@trikaliotis.net>
- Update to 0.4.99.104
* Fri Nov 13 2020 Spiro Trikaliotis <obs-opencbm@trikaliotis.net>
- Fix missing libopencbm.so symlink to libopencbm.so.0
* Thu Jul 16 2020 Spiro Trikaliotis <obs-opencbm@trikaliotis.net>
- Update to 0.4.99.103
* Wed Jun 24 2020 Spiro Trikaliotis <obs-opencbm@trikaliotis.net>
- Update to 0.4.99.102
* Mon Jun 15 2020 Spiro Trikaliotis <obs-opencbm@trikaliotis.net>
- Update to 0.4.99.101
* Thu Mar 26 2020 Spiro Trikaliotis <obs-opencbm@trikaliotis.net>
- Initial release