blob: ac0248feea11cbaa37b88a341fc9b140f7aa7e2e [file] [log] [blame]
%define _binary_payload w9.gzdio
Name: mtools
Summary: mtools, read/write/list/format DOS disks under Unix
Version: 4.0.37
Release: 1
License: GPLv3+
Group: Utilities/System
URL: http://www.gnu.org/software/mtools/
Source: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%description
Mtools is a collection of utilities to access MS-DOS disks from GNU
and Unix without mounting them. It supports long file names, OS/2 Xdf
disks, ZIP/JAZ disks and 2m disks (store up to 1992k on a high density
3 1/2 disk).
%prep
%setup -q
./configure \
--prefix=%{buildroot}%{_prefix} \
--sysconfdir=/etc \
--infodir=%{buildroot}%{_infodir} \
--mandir=%{buildroot}%{_mandir} \
--enable-floppyd \
%build
make
%clean
echo rm -rf $RPM_BUILD_ROOT
[ X%{buildroot} != X ] && [ X%{buildroot} != X/ ] && rm -fr %{buildroot}
%install
make install
make install-info
strip %{buildroot}%{_bindir}/mtools %{buildroot}%{_bindir}/mkmanifest %{buildroot}%{_bindir}/floppyd
rm %{buildroot}%{_infodir}/dir
%files
%defattr(-,root,root)
%{_infodir}/mtools.info*
%{_mandir}/man1/floppyd.1*
%{_mandir}/man1/floppyd_installtest.1.gz
%{_mandir}/man1/mattrib.1*
%{_mandir}/man1/mbadblocks.1*
%{_mandir}/man1/mcat.1*
%{_mandir}/man1/mcd.1*
%{_mandir}/man1/mcopy.1*
%{_mandir}/man1/mdel.1*
%{_mandir}/man1/mdeltree.1*
%{_mandir}/man1/mdir.1*
%{_mandir}/man1/mdu.1*
%{_mandir}/man1/mformat.1*
%{_mandir}/man1/minfo.1*
%{_mandir}/man1/mkmanifest.1*
%{_mandir}/man1/mlabel.1*
%{_mandir}/man1/mmd.1*
%{_mandir}/man1/mmount.1*
%{_mandir}/man1/mmove.1*
%{_mandir}/man1/mpartition.1*
%{_mandir}/man1/mrd.1*
%{_mandir}/man1/mren.1*
%{_mandir}/man1/mshortname.1*
%{_mandir}/man1/mshowfat.1*
%{_mandir}/man1/mtools.1*
%{_mandir}/man5/mtools.5*
%{_mandir}/man1/mtoolstest.1*
%{_mandir}/man1/mtype.1*
%{_mandir}/man1/mzip.1*
%{_bindir}/amuFormat.sh
%{_bindir}/mattrib
%{_bindir}/mbadblocks
%{_bindir}/mcat
%{_bindir}/mcd
%{_bindir}/mcopy
%{_bindir}/mdel
%{_bindir}/mdeltree
%{_bindir}/mdir
%{_bindir}/mdu
%{_bindir}/mformat
%{_bindir}/minfo
%{_bindir}/mkmanifest
%{_bindir}/mlabel
%{_bindir}/mmd
%{_bindir}/mmount
%{_bindir}/mmove
%{_bindir}/mpartition
%{_bindir}/mrd
%{_bindir}/mren
%{_bindir}/mshortname
%{_bindir}/mshowfat
%{_bindir}/mtools
%{_bindir}/mtoolstest
%{_bindir}/mtype
%{_bindir}/mzip
%{_bindir}/floppyd
%{_bindir}/floppyd_installtest
%{_bindir}/mcheck
%{_bindir}/mcomp
%{_bindir}/mxtar
%{_bindir}/tgz
%{_bindir}/uz
%{_bindir}/lz
%doc NEWS
%pre
groupadd floppy 2>/dev/null || echo -n ""
%post
if [ -f %{_bindir}/install-info ] ; then
if [ -f %{_infodir}/dir ] ; then
%{_bindir}/install-info %{_infodir}/mtools.info %{_infodir}/dir
fi
if [ -f %{_infodir}/dir.info ] ; then
%{_bindir}/install-info %{_infodir}/mtools.info %{_infodir}/dir.info
fi
fi
%preun
install-info --delete %{_infodir}/mtools.info %{_infodir}/dir.info
if [ -f %{_bindir}/install-info ] ; then
if [ -f %{_infodir}/dir ] ; then
%{_bindir}/install-info --delete %{_infodir}/mtools.info %{_infodir}/dir
fi
if [ -f %{_infodir}/dir.info ] ; then
%{_bindir}/install-info --delete %{_infodir}/mtools.info %{_infodir}/dir.info
fi
fi
%changelog
* Sun Dec 26 2021 Alain Knaff <alain@knaff.lu>
- Removed mclasserase commands, which doesn't fit the coding
structure of the rest of mtools
- Add support to -i option to mcd
- Document -i in mtools.1
- Fix a missing commad error in floppyd_io.c
* Sun Nov 21 2021 Alain Knaff <alain@knaff.lu>
- Fix error status of recursive listing of empty root directory
- If recursive listing, also show matched files at level one
- Use "seekless" reads & write internally, where possible
- Text mode conversion refactoring
- Misc refactoring
* Fri Aug 06 2021 Alain Knaff <alain@knaff.lu>
- Fix cluster padding at end of file in batch mode, and add comments about what
happens here
* Fri Jul 23 2021 Alain Knaff <alain@knaff.lu>
- Fix mcopy -s issue
* Sat Jul 17 2021 Alain Knaff <alain@knaff.lu>
- Fix support for partitions (broken in 4.0.30)
- Portability fixes for Solaris 10 and 11
- General simplification of configure script, and largefile handling
- Tested and fixed for platforms *without* largefile support
- In cases where lseek works with 32-bit offsets, prefer lseek64 over llseek
- Fixed floppy sector size handling on platforms that are not Linux
- Added support for image files on command line to mcat
* Sat Jul 10 2021 Alain Knaff <alain@knaff.lu>
- Simplify algorithm that choses filesystem parameters for
format, and align it more closely with what Win7 does
- Fix mformatting XDF when XDF not explicitly specified on
mformat command line
- easier way to enter sizes on mformat command line (mformat -C -T 1440K)
- For small sizes, mformat assumes floppy geometries (heads 1 or 2,
tracks 40 or 80)
- Handle attempts to mformat too small filesystems more gracefully
- Enable minfo to print out additional mformat command line
parameters, if the present filesystem uses non-default values for
these
- minfo no longer prints bigsect if smallsect is set
- for remap filter, error when trying to write non-zero data to
unmapped sectors
- Fix misc compilation warnings occuring when disabling certain
features (largefiles, raw-term)
* Sat Jun 19 2021 Alain Knaff <alain@knaff.lu>
- Move Linux-specific block device sizing code into
linux-specific section of devices.c
- Error messages for all failure cases on fs_init failure
- Fix compilation without XDF support (OpenImage signature)
- Fix polarity of format_xdf command-line parameter of mformat
- In XDF_IO retry enough times to actually succeed, even if
FDC was in a bad state before
- Remove useless buffer flushing triggered when giving up a
reference to a stream node that is still referenced
elsewhere.
- Clearer error message if neither size nor geometry of drive
to be mformatted is known
- In mformat, make Fs dynamically allocated rather than
on-stack, so as to be able to use utilities supplied by
stream.c
- Remove duplicate writing of backup boot sector
- Allow to infer geometry if only size is specified
- Protect against attempt to create zero-sized buffer
- Code simplification in mattrib
- Remove dead code in mpartition
* Thu Jun 17 2021 Alain Knaff <alain@knaff.lu>
- Fixed XDF floppy disk access
- Fixed faulty behavior at end of image in mcat
- Device/Image size handling refactoring
- allow remap to write to zero-backed sectors (may happen if
buffer is flushed, and is not an error in that case)
- Raise an error when trying to mcopy multiple source files
over a single destination file (rather than directory)
- fix handling of "hidden" sectors (is a 2 byte quantity on
small disks, not 4 byte as previously assumed)
- Modernize partition support. Tuned consistency check to
actually check about important issues (such as overlapping
partitions) rather than stuff nobody else cares about
(alignment on entire cylinder boundaries)
- Move various "filter" options (partition, offset, swap,
scsi) into separate classes, rather than leaving almost
everything in plain_io
- Simplify and centralize geometry handling and LBA code
- Fix some more more compiler warnings
* Mon May 31 2021 Alain Knaff <alain@knaff.lu>
-Fix bug in cluster preallocation, which was accidentally introduced by compiler warning "fixes" from v4_0_28
* Sat Nov 28 2020 Alain Knaff <alain@knaff.lu>
- Fix compilation on Macintosh
- Ignore image file locking errors if we are performing a read-only access anyways
- Minor man-page fixes
* Sat Oct 24 2020 Alain Knaff <alain@knaff.lu>
- Preserve non-updated contents of info sector, just in case it contains program code
- When parsing config file, always use "C" locale for case-insensitive comparisons
* Sun Mar 22 2020 Alain Knaff <alain@knaff.lu>
- Spelling fixes in documentation
- Permit calling "make install" with >= -j2
- Added AC_SYS_LARGEFILE, needed for compiling on certain ARM procs
* Sun Dec 09 2018 Alain Knaff <alain@knaff.lu>
- Address lots of compiler warnings (assignments between different types)
- Network speedup fixes for floppyd (TCP_CORK)
- Typo fixes
- Explicitly pass available target buffer size for character set conversions
* Sun Dec 02 2018 Alain Knaff <alain@knaff.lu>
- Fixed -f flag for mformat (size is KBytes, rather than sectors)
- Fixed toupper/tolower usage (unsigned char rather than plain signed)
* Sat Nov 24 2018 Alain Knaff <alain@knaff.lu>
- Fixed compilation for MingW
- After MingW compilation, make sure executable has .exe extension
- Addressed compiler warnings
- Fixed length handling in character set conversion (Unicode file names)
- Fixed matching of character range, when containing Unicode characters (mdir "c:test[α-ω].exe")
- Fixed initialization of my_scsi_cmd constructor
* Sun Nov 11 2018 Alain Knaff <alain@knaff.lu>
- initialize directory entries to 0
- bad message "Too few sectors" replaced with "Too many sectors"
- apostrophe in mlabel no longer causes generation of long entry
- option to fake system date for file creation using the SOURCE_DATE_EPOCH environment variables
- can now be compiled with "clang" compiler
- fallback function for strndup, for those platforms that do not have it
- fixed a number of -Wextra warnings
- new compressed archive formats for uz/lz
- allow to specify number of reserved sectors for FAT32.
- file/device locking with timeout (rather than immediate failure)
- fixed support for BPB-less legacy formats.
- removed check that disk must be an integer number of tracks.
- removed .eh/.oh macros from manual pages
* Sat Sep 29 2018 Alain Knaff <alain@knaff.lu>
- Fix for short file names starting with character 0xE5 (by remapping it to 0x5)
- mpartition: Partition types closer to what Microsoft uses
- mformat: figure out LBA geometry as last resort if geometry
is neither specified in config and/or commandline, nor can be
queried from the device
- mformat: use same default cluster size by size as Microsoft for FAT32
- additional sanity checks
- document how cluster size is picked in mformat.c man page
- document how partition types are picked in mpartition.c man page
* Wed Jan 09 2013 Alain Knaff <alain@knaff.lu>
- Fix for names of iconv encodings on AIX
- Fix mt_size_t on NetBSD
- Fixed compilation on Mingw
- Fixed doc (especially mformat)
- Fix mformating of FAT12 filesystems with huge cluster sizes
- Minfo prints image file name in mformat command line if an image
- file name was given
- Always generate gzip-compressed RPMs, in order to remain
- compatible with older distributions
- Fixed buffer overflow with drive letter in mclasserase
* Wed Jun 29 2011 Alain Knaff <alain@knaff.lu>
- mbadblocks now takes a list of bad blocks (either as sectors
or as clusters)
- mbadblocks now is able to do write scanning for bad blocks
- mshowfat can show cluster of specific offset
- Enable mtools to deal with very small sector sizes...
- Fixed encoding of all-lowercase names (no need to mangle
these)
- Consider every directory entry after an ENDMARK (0x00) to be deleted
- After writing a new entry at end of a directory, be sure to also add
an ENDMARK (0x00)
- Deal with possibility of a NULL pointer being returned by
localtime during timestamp conversion
* Sat Apr 16 2011 Alain Knaff <alain@knaff.lu>
- configure.in fixes
- fixed formatting of fat_size_calculation.tex document
- compatibility with current autoconfig versions
- Make it clear that label is limited to 11 characters
- Fixed typo in initialization of FAT32 info sector
* Sun Oct 17 2010 Alain Knaff <alain@knaff.lu>
- Added missing -i option to mshortname
* Sun Oct 17 2010 Alain Knaff <alain@knaff.lu>
- Released v4_0_14:
- New mshortname command
- Fix floppyd for disks bigger than 2 Gig
- Remove obsolete -z flag
- Remove now unsupported AC_USE_SYSTEM_EXTENSIONS
- Fixed output formatting of mdir if MTOOLS_DOTTED_DIR is set
- Mformat now correctly writes backup boot sector
- Fixed signedness of serial number in mlabel
- Fixed buffer size problem in mlabel
- Make mlabel write backup boot sector if FAT32
- Catch situation where both clear and new label are given to mlabel
- Quote filename parameters to scripts
- Mformat: Close file descriptor for boot sector
- Added lzip support to scripts/uz
- Added Tot_sectors option to mformat
- Fixed hidden sector handling in mformat
- Minfo generates mformat command lines containing new -T option
- Mlabel prints error if label too long
* Sun Feb 28 2010 Alain Knaff <alain@knaff.lu>
- Merged Debian patches
* Tue Nov 03 2009 Alain Knaff <alain@knaff.lu>
- Mingw compatibility fixes