author | R. Bernstein <rocky@users.noreply.github.com> | 2024年09月09日 19:57:39 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024年09月09日 19:57:39 -0400 |
commit | d785edbca0b205101feb3463695e718e000b998f (patch) | |
tree | 18e64e73727e459386382e73ef95abb0d0cd299f | |
parent | 758338cf2b4b72544ab11d5d06164bd1646bd414 (diff) | |
parent | 957eda09727a1ccde1d70f31e6fe52c9721e91cf (diff) | |
download | libcdio-d785edbca0b205101feb3463695e718e000b998f.tar.gz |
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | INSTALL | 7 | ||||
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | NEWS.md | 342 | ||||
-rw-r--r-- | README | 62 | ||||
-rw-r--r-- | README-develop.md | 36 | ||||
-rw-r--r-- | README-libcdio.md (renamed from README.libcdio) | 97 | ||||
-rw-r--r-- | README.develop | 36 | ||||
-rw-r--r-- | README.md | 66 |
diff --git a/.gitignore b/.gitignore index 584dba56..45b66abf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,13 @@ *.exe +*.lo *.log *.o -*.lo *.stackdump *.trs *~ .deps .dirstamp +/.python-version /ChangeLog /Makefile /Makefile.in @@ -12,7 +12,7 @@ without warranty of any kind. Basic Installation ================== - If you are compiling from git sources, see README.develop. +If you are compiling from git sources, see README-develop.md Briefly, the shell command: ./configure && make && sudo make install @@ -74,7 +74,7 @@ or regenerate `configure' using a newer version of `autoconf'. order to regenerate files that came with the distribution. 7. You can also type `make uninstall' to remove the installed - files again. + files again. 8. `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work @@ -82,7 +82,7 @@ or regenerate `configure' using a newer version of `autoconf'. 9. For a list of all targets if you have remake installed, `remake --tasks' will give a list. - + Compilers and Options ===================== @@ -318,4 +318,3 @@ operates. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. - diff --git a/Makefile.am b/Makefile.am index 4247a396..1f41888e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -28,7 +28,8 @@ EXTRA_DIST = \ MSVC/libcdio.sln \ MSVC/libcdio.vcproj \ NEWS.md \ - README.libcdio \ + README.md \ + README-libcdio.md \ THANKS \ example/README \ libcdio++.pc.in \ @@ -1,5 +1,11 @@ -version 2.1.0 -============= +NEWS +==== + +Here we have a summary of the major changes by release. See the git commit history or `ChangeLog` for more fine-grained changes. + +Version 2.1.0 +------------- + 2019年04月17日 Holy Wednesday Most (all?) of the improvements and bug fixes are thanks to Thomas Schmitt and Edd Barrett. This release introduces an OpenBSD driver, courtesy of Edd Barrett, based on the NetBSD driver. @@ -13,15 +19,17 @@ Most (all?) of the improvements and bug fixes are thanks to Thomas Schmitt and E - Various errors in driver reading turned into warnings. (Edd Barrett and Thomas Schmitt) - Some code cleanups and documentation improvements. - Bugs: - * [Bug 53170: I/O leak when we can't read ISO file ](https://savannah.gnu.org/bugs/index.php?53170) - * [Bug 53928: Cdtext not displayed in case of `CDTEXT_LANGUAGE_UNKNOWN`](https://savannah.gnu.org/bugs/index.php?3929) - * [Bug 53929: cd-text with invalid characters failing to convert to utf8](https://savannah.gnu.org/bugs/index.php?3928) -version 2.0.0 -============= + - [Bug 53170: I/O leak when we can't read ISO file](https://savannah.gnu.org/bugs/index.php?53170) + - [Bug 53928: Cdtext not displayed in case of `CDTEXT_LANGUAGE_UNKNOWN`](https://savannah.gnu.org/bugs/index.php?3929) + - [Bug 53929: cd-text with invalid characters failing to convert to utf8](https://savannah.gnu.org/bugs/index.php?3928) + +Version 2.0.0 +------------- + 2017年12月31日 -This release bumps library version numbers and bumps the major release number. We should have gone from 1.0.0 to 2.0.0 in the last release +This release bumps library Version numbers and bumps the major release number. We should have gone from 1.0.0 to 2.0.0 in the last release since there is an API incompatibility. In addition... @@ -40,8 +48,9 @@ if you want to use them with this library. Specifically: - `pycdio` (2.0.0 or greater) - `rbcdio` (2.0.0 or greater) -version 1.1.0 -============= +Version 1.1.0 +------------- + 2017年12月10日 Dr. Gecko Caveats: @@ -57,22 +66,22 @@ More work is needed on MacOS and other OS's where I don't have AIX is left untouched - that is probably heading for removal in the future. +Version 1.0.0 +------------- -version 1.0.0 -============= 2017年11月21日 Thanksgiving This is an API breaking change - Remove deprecated items: - * OS/2 driver (never really was supported) - * BSDI driver remnants - * mmc_isrc_track_read_subchannel - * CDIO_MIN_DRIVER, CDIO_MIN_DEVICE_DRIVER, CDIO_MAX_DRIVER, CDIO_MAX_DEVICE_DRIVER - * CdioList, CdioListNode + - OS/2 driver (never really was supported) + - BSDI driver remnants + - mmc_isrc_track_read_subchannel + - CDIO_MIN_DRIVER, CDIO_MIN_DEVICE_DRIVER, CDIO_MAX_DRIVER, CDIO_MAX_DEVICE_DRIVER + - CdioList, CdioListNode - Apple Darwin OS X -> macOS -- Subdir objects breaks symbol versioning. See https://savannah.gnu.org/bugs/?49907 -- Handle bad iso 9660 better. Fixes Savannah bug https://savannah.gnu.org/bugs/?52091 +- Subdir objects breaks symbol versioning. See <https://savannah.gnu.org/bugs/?49907> +- Handle bad iso 9660 better. Fixes Savannah bug <https://savannah.gnu.org/bugs/?52091> - Apple (High) Sierra compatibility - NetBSD patches - Fixes for Rock Ridge SUSP (Thomas Schmitt) @@ -83,51 +92,54 @@ This is an API breaking change - Cross-compiling friendliness (Ozkan Sezer) - Small texinfo doc fixes (Wieland Hoffmann) - Simplify making doc from autogen.sh -- Bug fix for https://savannah.gnu.org/bugs/?45015 (Thomas Schmitt) +- Bug fix for <https://savannah.gnu.org/bugs/?45015> (Thomas Schmitt) - Bug fixes for #45017,#52265, and #52264 - Add more compiler warning flags, i.e. -Wshadow, -Wundef, ... - Reduce numerous memory leaks (more though remain) -version 0.94 -============ +Version 0.94 +------------- + 2016年10月27日 - CD-TEXT fixes and improvements - * Expose mmc_read_cdtext as a publicly accessable function + - Expose mmc_read_cdtext as a publicly accessible function Removes some redundant error reporting in `mmc_read_cdtext()` Also fixes some incorrect lengths for isrc and mcn. - * Fix inconsistent maximal length in CD-Text extraction - * Added new low level functions for READ SUB-CHANNEL and + - Fix inconsistent maximal length in CD-Text extraction + - Added new low level functions for READ SUB-CHANNEL and READ TOC/PMA/ATIP for CD-TEXT extraction. - * Add cdtext binary parser and track number to public api - * Increase track # for short CD-Text fields + - Add cdtext binary parser and track number to public api + - Increase track # for short CD-Text fields - Eject fixes: - * Fix disc eject for Cocoa apps and support ejecting CD-Extra discs + - Fix disc eject for Cocoa apps and support ejecting CD-Extra discs on OS X. - * Make sure device is opened in read/write mode when trying to eject. + - Make sure device is opened in read/write mode when trying to eject. Bugs - * Add error reporting from_733_with_err. [Bug #45014](https://savannah.gnu.org/bugs/index.php?45014) - * Guard against malformed rock ridge iso. [Bug #45015](https://savannah.gnu.org/bugs/index.php?45015) - * Malformed so crashes iso-info [Bug #45013:](https://savannah.gnu.org/bugs/index.php?45013:) - * Guard against 0-size calloc [Bug #45016](https://savannah.gnu.org/bugs/index.php?45016) - * Fix testudf segfaults/fails on big endian arches. [Bug #43995](https://savannah.gnu.org/bugs/index.php?43995). - * add get_last_session to the win32 driver. + +- Add error reporting from_733_with_err. [Bug #45014](https://savannah.gnu.org/bugs/index.php?45014) +- Guard against malformed rock ridge iso. [Bug #45015](https://savannah.gnu.org/bugs/index.php?45015) +- Malformed so crashes iso-info [Bug #45013:](https://savannah.gnu.org/bugs/index.php?45013:) +- Guard against 0-size calloc [Bug #45016](https://savannah.gnu.org/bugs/index.php?45016) +- Fix testudf segfaults/fails on big endian arches. [Bug #43995](https://savannah.gnu.org/bugs/index.php?43995). +- add get_last_session to the win32 driver. Also fixes cd-paranoia behavior. [Bug #43446](https://savannah.gnu.org/bugs/index.php?43446) - * GNU/Linux ioctl treats <= 0 as max speed. [Bug #43428](https://savannah.gnu.org/bugs/index.php?43428) - * Fixed cdio_free leaking - * Recursion checking in cdio_logv() - * g++ greater than 4.0 handles "pack" [Bug #48759](https://savannah.gnu.org/bugs/index.php?48759) - * `configure` fixes +- GNU/Linux ioctl treats <= 0 as max speed. [Bug #43428](https://savannah.gnu.org/bugs/index.php?43428) +- Fixed cdio_free leaking +- Recursion checking in cdio_logv() +- g++ greater than 4.0 handles "pack" [Bug #48759](https://savannah.gnu.org/bugs/index.php?48759) +- `configure` fixes Updates - * Add newer OSX's - * Squelch some `clang` error messages +- Add newer OSX's +- Squelch some `clang` error messages + +Version 0.93 +------------- -version 0.93 -============ 2014年09月29日 Most of the changes except where noted are courtesy of Robert Kausch @@ -140,14 +152,17 @@ Most of the changes except where noted are courtesy of Robert Kausch - Remove Coverty scan warnings and errors - OS/2 driver performance update - KO Myung-Hun -version 0.92 (late SF Release) +Version 0.92 (late SF Release) +------------------------------ + 2013年12月15日 - Fix the botched the library release numbers, Bump current, and set revision to zero -version 0.91 - don't use -======================== +Version 0.91 - don't use +------------------------ + 2013年12月14日 - Report Joliet level on iso-info, and an option to show whether @@ -159,15 +174,17 @@ version 0.91 - don't use - Be able to read an audio CD with exactly 100 tracks - Microsoft Windows fixes (mingw, cygwin, Visual Studio) - Fix UDF library bug on BigEndian CPUs (POWER, SPARC, HP/UX) -- libudf: Add udf_get_logical_volume_id() to retreive a UDF Logical Volume +- libudf: Add udf_get_logical_volume_id() to retrieve a UDF Logical Volume - libcdio: Add cdio_default_log_handler - libiso9660: Add iso9660_have_rr() to show if Rock-Ridge extensions are present version 0.90 -============ +------------- + 2012年10月27日 + - CD-Text overhaul and API change (Leon Merten Lohse) -- Works again (somewhat) on MinGW; tolerence for Microsoft's C compiler (Pete Batard) +- Works again (somewhat) on MinGW; tolerance for Microsoft's C compiler (Pete Batard) - UDF, Joliet and Rock-Ridge fixes (Pete Batard) - OSX fixes (Natalia Portillo and Robert William Fuller) - paranoia library removed as that is GPL 2-ish. This is now a separate project @@ -178,7 +195,8 @@ version 0.90 - bug fixes, more tests, update documentation version 0.83 -============ +------------- + 2011年10月27日 - Add retrieval SCSI sense reply from the most-recent MMC command. (Thomas Schmitt) @@ -200,7 +218,8 @@ version 0.83 - --no-header on cd-info omits copyright and warranty version 0.82 -============ +------------- + 2009年10月27日 - Remove all uses of CDIO_MIN_DRIVER, @@ -212,7 +231,8 @@ version 0.82 - Numerous other bug fixes version 0.81 -============ +------------- + 2008年10月27日 - license of manual now GFDL 1.2 or later, with no invariant sections. @@ -242,7 +262,8 @@ version 0.81 - Add NetBSD driver version 0.80 -============ +------------- + 2008年03月15日 - Add get_media_changed for FreeBSD @@ -257,18 +278,19 @@ version 0.80 Note: this is probably the last GPL v2 release; GPL v3 on the horizon. version 0.79 -============== +------------- + 2007年10月27日 - iso-read: Add --ignore -k to ignore errors. - Fix Savannah bugs: - * [Bug #18522](https://savannah.gnu.org/bugs/index.php?18522), - * [Bug #18563](https://savannah.gnu.org/bugs/index.php?18563), - * [Bug #18131](https://savannah.gnu.org/bugs/index.php?18131), - * [Bug #19221](https://savannah.gnu.org/bugs/index.php?19221), - * [Bug #19880](https://savannah.gnu.org/bugs/index.php?19880), - * [Bug #21147](https://savannah.gnu.org/bugs/index.php?21147), and other miscellaneous bugs and memory leaks + - [Bug #18522](https://savannah.gnu.org/bugs/index.php?18522), + - [Bug #18563](https://savannah.gnu.org/bugs/index.php?18563), + - [Bug #18131](https://savannah.gnu.org/bugs/index.php?18131), + - [Bug #19221](https://savannah.gnu.org/bugs/index.php?19221), + - [Bug #19880](https://savannah.gnu.org/bugs/index.php?19880), + - [Bug #21147](https://savannah.gnu.org/bugs/index.php?21147), and other miscellaneous bugs and memory leaks - `cd-info`: force CDDB disc id to be 32-bits. Problem reported by Eric Shattow. - `cd-paranoia`: allow ripping before the first track. Problem reported @@ -280,21 +302,26 @@ version 0.79 - improve eject code for OSX version 0.78.2 -============== +-------------- + 2006年10月31日 + - preprocessor symbol `LIBCDIO_VERSION` number has to be an integer. (Bug caused by naming version 0.78._1_) version 0.78.1 -============== +-------------- + 2006年10月27日 - Fix bug in libcdio.so version numbering. Also another small bug. Thanks to Janos Farkas version 0.78 -============ +------------ + 2006年10月27日 + - add `mmc-tool` - add `mmc-close-tray` - `libudf`: can now read (extract) file data, at least for ICB strategy @@ -305,7 +332,8 @@ version 0.78 - fixes to eject. On GNU/Linux we unmount filesystems first. version 0.77 -============ +------------ + 2006年03月17日 - Add an object-oriented C++ wrapper. (libcdio++ and libiso9660++) @@ -323,23 +351,23 @@ version 0.77 - Start UDF handling - increase use of enumerations more and decrease use of #defines - OS Support: - * DragonFly recognized as FreeBSD, - * MinGW better tolerated, - * GNU/Linux (and others?) LARGEFILE support - * OpenBSD tested (no native CD driver though) + - DragonFly recognized as FreeBSD, + - MinGW better tolerated, + - GNU/Linux (and others?) LARGEFILE support + - OpenBSD tested (no native CD driver though) - Doxygen formatting improvements. - Misc bugs: - * fixed bincue driver caused core dump on set_speed and + - fixed bincue driver caused core dump on set_speed and set_blocksize; it also called the wrong routine (from NRG) to get a list of cd-images. - * read.h didn't make sure off_t was defined. - * fixed bug in is_device() when driver_id = DRIVER_UNKNOWN or DRIVER_DEVICE. - * OSX was freeing too much in listing drives. - * get_hwinfo was not respecting fixed-length field boundaries in + - read.h didn't make sure off_t was defined. + - fixed bug in is_device() when driver_id = DRIVER_UNKNOWN or DRIVER_DEVICE. + - OSX was freeing too much in listing drives. + - get_hwinfo was not respecting fixed-length field boundaries in image drivers (strcpy->strncpy). - * A number ISO 9660 time conversion routines corrected with respect to + - A number ISO 9660 time conversion routines corrected with respect to various timezone offsets, daylight savings time, and tm capabilities - small `cdda-player` improvements - shows more CD-TEXT, and fix bug in non-interactive use (Yes, I sometimes use it.) @@ -349,7 +377,8 @@ version 0.77 - Security: replace all uses of strcat and strcpy with strncat and strncpy version 0.76 -============ +------------- + 2005年09月23日 - Better compatibility with C++ @@ -364,7 +393,8 @@ version 0.76 used `<cdio/paranoia.h>` but didn't include it. version 0.75 -============ +------------- + 2005年07月11日 - audio volume level fix on Microsoft Windows @@ -380,7 +410,8 @@ version 0.75 memory leak fixes version 0.74 -============ +------------- + 2005年05月13日 - `cd-paranoia` fixes @@ -391,7 +422,8 @@ version 0.74 - FreeBSD audio sub-channel time reporting fixed version 0.73 -============ +------------- + 2005年04月15日 - Rock Ridge Extension support added @@ -409,7 +441,8 @@ version 0.73 - `gcc` 4 fixes version 0.72 -============ +------------- + 2005年01月31日 - `cdparanoia` included - with regression tests and sample library programs @@ -428,7 +461,8 @@ version 0.72 - Update documentation version 0.71 -============ +------------- + 2005年11月20日 - Some Joliet support. @@ -445,9 +479,9 @@ version 0.71 - `iso-info` now shows XA attributes if that is available. - Some bug fixes - version 0.70 -============ +------------- + 2004年09月02日 - SCSI MMC interface routine (all except Darwin) @@ -461,7 +495,8 @@ version 0.70 as drive string. Speeds up subsequent opens. version 0.69 -============ +------------- + 2004年06月25日 - Add interface returning drive capabilities (`cdio_get_drive_cap()`). @@ -482,7 +517,8 @@ version 0.69 - `cd-info`: X-Box CD detection (via xbox team mediacenter) version 0.68 -============ +------------- + 2004年03月23日 - More honest about mode1 reading in backends. Remove some of the bogusness. @@ -493,10 +529,11 @@ version 0.68 - option `--with-versioned-libs` now checks for GNU ld. version 0.67 -============ +------------- + 2004年03月01日 -- portability for ARM +- portability for ARM - add `iso-read` program and regression tests - `libiso9960`: stat routines that match level 1 ISO-9600 filenames translating them into Unix-style names (i.e. lowercase letters, @@ -508,117 +545,120 @@ version 0.67 without GNU make version 0.66 -============ +------------- + 2004年02月15日 -- Add interface for reading an ISO-9660 image -- portability fixes (Solaris, cygwin) -- Microsoft Windows ASPI/ DeviceIoControl code reorganization -- NRG image reading improvements -- Remove memory leaks -- library symbol versioning (from Nicolas Boullis) -- Go over documentation +- Add interface for reading an ISO-9660 image +- portability fixes (Solaris, cygwin) +- Microsoft Windows ASPI/ DeviceIoControl code reorganization +- NRG image reading improvements +- Remove memory leaks +- library symbol versioning (from Nicolas Boullis) +- Go over documentation version 0.65 -============ +------------- + 2003年12月13日 -- tag headers to give doxygen API documentation -- `cd-info`/`cd-read` now can specify library level of output -- sample program using `libiso9660` added. +- tag headers to give doxygen API documentation +- `cd-info`/`cd-read` now can specify library level of output +- sample program using `libiso9660` added. version 0.64 -============ +------------- + 2003年11月22日 -- add routines to return a list of devices or scan a list of devices +- add routines to return a list of devices or scan a list of devices which satisfy any/all things in a capability mask. Should be useful for plugins that want to find a CD-DA to play or find a plugin that handles a particular device. -- cd-read: new program to help diagnose reading problems. -- cd-info: now displays date on iso9660 listing and translates filename +- cd-read: new program to help diagnose reading problems. +- cd-info: now displays date on iso9660 listing and translates filename to normal conventions, gives track "green" info -- Add/expose routines to get/set time. time is reported back in entry +- Add/expose routines to get/set time. time is reported back in entry stat. Routines to create ISO-9660 directories and entries must now supply the time to set on the entry. -- Darwin and FreeBSD drivers closer to having native CD support, MinGW +- Darwin and FreeBSD drivers closer to having native CD support, MinGW fixes (but not complete either) -- BSDI fixes -- Document more functions. +- BSDI fixes +- Document more functions. version 0.63 -============ +------------- -- create libiso9660 library and install that. -- More sample programs. -- add library routine cdio_guess_cd_type to analyze/guess what type of +- create libiso9660 library and install that. +- More sample programs. +- add library routine cdio_guess_cd_type to analyze/guess what type of CD or CD image we've got. -- `cd-info` can list the files of a ISO-9660 filesystem via libiso9660 with option `--iso9660` +- `cd-info` can list the files of a ISO-9660 filesystem via libiso9660 with option `--iso9660` version 0.62 -============ +------------- -- Some minimal documentation. More will follow. -- Add a simple sample programs. -- Add a simple regression test driver. -- "Smart" open was scanning devices rather than devices + image drivers. +- Some minimal documentation. More will follow. +- Add a simple sample programs. +- Add a simple regression test driver. +- "Smart" open was scanning devices rather than devices + image drivers. version 0.61 -============ +------------- -- Cygwin/MinGW port. -- get-default-device reworked to be smarter about finding devices. -- cd-info: add `--no-headers`. version ID is from package now. Show default device on `--version` output. -- API: add routine report if string refers to a device or not -- Make use of features in libcddb 0.9.4. +- Cygwin/MinGW port. +- get-default-device reworked to be smarter about finding devices. +- cd-info: add `--no-headers`. version ID is from package now. Show default device on `--version` output. +- API: add routine report if string refers to a device or not +- Make use of features in libcddb 0.9.4. version 0.6 -=========== +------------- -- Bug: eject wouldn't. -- If given `.bin`, find corresponding `.cue`. If no cue, complain. +- Bug: eject wouldn't. +- If given `.bin`, find corresponding `.cue`. If no cue, complain. version 0.5 -=========== +------------- -- Add RPM spec file. Thanks to Manfred Tremmel <Manfred.Tremmel@iiv.de> -- `cdinfo` renamed to `cd-info` to avoid conflicts with other existing programs -- bug in ejecting CD's fixed -- find `cue` file if given `bin`. -- `cd-info`: If `libvcdinfo` is installed show general Video CD properties +- Add RPM spec file. Thanks to Manfred Tremmel <Manfred.Tremmel@iiv.de> +- `cdinfo` renamed to `cd-info` to avoid conflicts with other existing programs +- bug in ejecting CD's fixed +- find `cue` file if given `bin`. +- `cd-info`: If `libvcdinfo` is installed show general Video CD properties version 0.4 -=========== +------------- -- More regression tests. -- Use `pkg-config(1)` support -- NRG may be closer to being correct. +- More regression tests. +- Use `pkg-config(1)` support +- NRG may be closer to being correct. version 0.3 -=========== +------------- -- reduced overall size of package. Some regression moved to a separate (large) +- reduced overall size of package. Some regression moved to a separate (large) package. -- facilitate inclusion into another project's local source tree (e.g. xine) -- version number in include -- `cdinfo`: lists number of CDDB matches, display error message on failure, +- facilitate inclusion into another project's local source tree (e.g. xine) +- version number in include +- `cdinfo`: lists number of CDDB matches, display error message on failure, and can set CDDB port and http proxy -- Bug: Narrow drivers to devices when source is a device. -- fix some small compile warnings and configure bugs. Require libcddb 0.9.0 +- Bug: Narrow drivers to devices when source is a device. +- fix some small compile warnings and configure bugs. Require libcddb 0.9.0 or greater. version 0.2 -=========== +------------- -- Added Support for reading audio sectors -- cdinfo can use [libcddb](http://libcddb.sourceforge.net). If installed and +- Added Support for reading audio sectors +- cdinfo can use [libcddb](http://libcddb.sourceforge.net). If installed and we have a CD-DA disk, we dump out CDDB information. -- Regression tests added. -- Don't need to open device to give get a default device. -- Better device driver selection: We test for file/device-ness. -- Bugs fixed (default device name on GNU/Linux), +- Regression tests added. +- Don't need to open device to give get a default device. +- Better device driver selection: We test for file/device-ness. +- Bugs fixed (default device name on GNU/Linux), version 0.1 -=========== +------------- Routines split off from VCDImager. diff --git a/README b/README deleted file mode 100644 index b5ee7004..00000000 --- a/README +++ /dev/null @@ -1,62 +0,0 @@ -See README.libcdio for installation instructions. - -The libcdio package contains a library for CD-ROM and CD image -access. Applications wishing to be oblivious of the OS- and -device-dependent properties of a CD-ROM or of the specific details of -various CD-image formats may benefit from using this library. - -A library for working with ISO-9660 filesystems libiso9660 is -included. A generic interface for issuing MMC (multimedia commands) is -also part of the libcdio library. - -Also included is a library for working with ISO-9660 filesystems. - -The CD-DA error/jitter correction library from cdparanoia -(http://www.xiph.org/paranoia) is included as a separate library -licenced under GPL v2. - -Some support for disk image types like CDRWin's BIN/CUE format, -cdrdao's TOC format, and Nero's NRG format are available. Therefore, -applications that use this library also have the ability to read disc -images as though they were CD's. - -The library is written in C, however there are OO C++, Perl, Python -and Ruby wrappers to interface to the library. However C++ is the only -one that is bundled with this package, and the interfaces provide only -a subset of the full features of the library. - -Also included in the libcdio package are a number of utility programs: - -* cd-info - displays CD information: number of tracks, CD-format and - if possible basic information about the format. If libcddb - (http://libcddb.sourceforge.net) is available, the cd-info - program will display CDDB matches on CD-DA discs. And if a - new enough version of libvcdinfo is available (from the - vcdimager project), then cd-info shows basic VCD information. - -* cd-read - performs low-level block reading of a CD or CD image, - -* iso-info - displays ISO-9660 information from an ISO-9660 image, - -* iso-read - extracting files from an ISO-9660 image, a version of the - CD-DA extraction tool cdparanoia which corrects for - CD-ROM jitter, and a simple curses-based CD player, - cdda-player using the analog CD-ROM output. - -* cd-paranoia - port of cdparanoia (CD-DA jitter and error correction) - using libcdio back-end CD-reading. - -There is very limited low-level support for MMC commands on some -platforms. Using MMC writing can be done. However there is currently -little higher level-support for writing. Other libraries like libburn, -libdi, libscg, or libdvdread may be helpful. - -Some of the projects using libcdio are the Video CD authoring and -ripping tools VCDImager (http://vcdimager.org), a navigation-capable -Video CD plugin and CD-DA plugins for the media players xine -(http://xinehq.de), videolan's vlc (http://videolan.org), media -players mplayerxp (http://mplayerxp.sourceforge.net/) and gmerlin -(http://gmerlin.sourceforge.net), kiso, a KDE GUI for creating, -extracting and editing ISO-9600 images (http://kiso.sourceforge.net), -and a Samba vfs module that allows exporting a CD without mounting it -(http://ontologistics.net/OpenSource/Samba/index.php). diff --git a/README-develop.md b/README-develop.md new file mode 100644 index 00000000..8822a053 --- /dev/null +++ b/README-develop.md @@ -0,0 +1,36 @@ +# Building `libcdio` from git source + +Here is software you'll need to build a development version libcdio + +- git +- GNU make (or even better "remake") +- autoconf version 2.67 or better + (which contains programs autoconf and autoreconf) +- automake version 1.11.1 or better +- libtool (for building shared libraries) +- m4 (used by autoconf) +- texinfo (for building documentation) +- help2man (turns help for libcdio standalone programs into manual pages) + +This is in addition to the software needed to build starting from a the +source tar. See README-libcdio.md for that additional software. + +Older versions of autoconf and automake might work, I've just not +tested that. + +The source code lives the [github](https://github.com/libcdio/libcdio.git). +The older GNU Savannah main page is [here](https://savannah.gnu.org/projects/libcdio/). + +If you check out the source code, you'll need `git` installed. + +Once you have git: + + git clone https://github.com/libcdio/libcdio.git + +Change into the libcdio directory that just created and run the "autogen.sh" +shell script: + + cd libcdio + sh ./autogen.sh + +Please see [README-libcdio.md](README-libcdio.md) and follow those instructions starting at step 3. diff --git a/README.libcdio b/README-libcdio.md index 0f83093d..239ea073 100644 --- a/README.libcdio +++ b/README-libcdio.md @@ -1,45 +1,55 @@ -See README.develop if you plan use the git or development version. +Building `libcdio` from released source +======================================= -0. To compile the source, you'll need a POSIX shell and utilities (sh, -sed, grep, cat), an ANSI C compiler like gcc, and a POSIX "make" -program like GNU make or remake. You may also want to have "libtool" installed -for building portable shared libraries. +See [README-develop.md](README-develop.md) if you plan use the git or development version. -1. Uncompress and unpack the source code using for example "tar". Recent +* To compile the source, you'll need a POSIX shell and utilities (sh, sed, grep, cat), an ANSI C compiler like gcc, and a POSIX "make" program like GNU make or remake. You may also want to have "libtool" installed for building portable shared libraries. + +* Uncompress and unpack the source code using for example "tar". Recent versions of GNU tar can do this in one step like this: - tar -xpf libcdio-*.bz # or libcdio-*.gz -2. Go into the directory, run "configure" followed by "make": +```shell +tar -xpf libcdio-*.bz # or libcdio-*.gz +``` - cd libcdio-* - sh ./configure MAKE=make # or remake or gmake +* Go into the directory, run "configure" followed by "make": -3. If step 2 works, compile everything: +```shell + cd libcdio-* + sh ./configure MAKE=make # or remake or gmake +``` - make # or remake +* If step 2 works, compile everything: -4. Run the regression tests if you want: +```shell + make # or remake +``` - make check # or remake check +* Run the regression tests if you want: -5. Install. If the preceding steps were successful: +```shell + make check # or remake check +``` - make install # you may have to do this as root - # or "sudo make install" +* Install. If the preceding steps were successful: +```shell + make install # you may have to do this as root + # or "sudo make install" +``` If you have problems linking libcdio or libiso9660, see the BSD -section. You might also try the option --without-versioned-libs. However +section. You might also try the option `--without-versioned-libs`. However this option does help with the situation described below so it is preferred all other things being equal. If you are debugging libcdio, the libtool and the dynamic libraries -can make things harder. I suggest setting CFLAGS to include -'-fno-inline -g' and using --disable-shared on configure. - +can make things harder. I suggest setting `CFLAGS` to include +`-fno-inline -g` and using `--disable-shared` on `configure`. -VCD dependency: +VCD dependency --------------- + One thing that confuses people is the "dependency" on libvcdinfo from vcdimager, while vcdimager has a dependency on libcdio. This libcdio dependency on vcdimager is an optional (i.e. not mandatory) dependency, @@ -60,13 +70,13 @@ Another thing one can do is "make install" inside the library, or run an optional dependency on libcdio). Microsoft Windows -------- +----------------- Building under Microsoft Windows is supported for cygwin -(http://www.cygwin.com). You need to have the cygwin libiconv-devel +(<http://www.cygwin.com>). You need to have the cygwin libiconv-devel package installed. -For MinGW (http://www.mingw.org/) also works provided you have +For MinGW (<http://www.mingw.org/>) also works provided you have libiconv installed. Support for Microsoft compilers (e.g. Visual C) is not officially @@ -77,22 +87,20 @@ Pete Batard in his rufus project. You may be able to use their project files as a starting point. XBOX -------- - -Consult the xboxmediacenter team (www.xboxmediacenter.de) +----- +Consult the [xboxmediacenter team](https://www.xboxmediacenter.de) BSD, FreeBSD, NetBSD ---- +--------------------- -Unless you use --without-versioned-libs (not recommended), you need to -use GNU make or remake (http://bashdb.sf.net/remake). GNU make can be +Unless you use `--without-versioned-libs` (not recommended), you need to +use GNU make or [remake](http://bashdb.sf.net/remake). GNU make can be found under the name "gmake". If you use another make you are likely to get problems linking libcdio and libiso9660. - Solaris ------- @@ -106,16 +114,18 @@ because you have enable vcd-info and it is installed, then the only way I know how to get around is to use configure with --disable-shared. OS Support ---------------- +----------- Support for Operating Systems's is really based on the desire, ability and willingness of others to help out. I use GNU/Linux so that probably works best. Before a release I'll test on servers I have -available. I also announce a pending release on libcdio-devel@gnu.org +available. I also announce a pending release on <libcdio-devel@gnu.org> and ask others to test out. Specific libcdio configure options and environment variables ---------------- +------------------------------------------------------------ + +```shell --disable-cxx Disable C++ bindings (default enabled) --enable-cpp-progs make C++ example programs (default enabled) --disable-example-progs Don't build libcdio sample programs @@ -136,8 +146,11 @@ Specific libcdio configure options and environment variables --enable-vcd-info include Video CD Info from libvcd --enable-maintainer-mode create documentation and manual packages. For this you need texinfo and help2man installed +``` Optional Packages: + +```shell --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-cd-drive don't build program cd-drive (default with) @@ -159,15 +172,18 @@ Optional Packages: --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir +``` Some influential environment variables: + +```shell CC C compiler command CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a - nonstandard directory <lib dir> - LIBS libraries to pass to the linker, e.g. -l<library> - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if - you have headers in a nonstandard directory <include dir> + LDFLAGS linker flags, e.g. `-L` __lib_dir__ if you have libraries in a + nonstandard directory __lib dir__ + LIBS libraries to pass to the linker, e.g. -l __library__ + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I __include dir__ if + you have headers in a nonstandard directory __include dir__ CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor @@ -179,3 +195,4 @@ Some influential environment variables: C compiler flags for VCDINFO, overriding pkg-config VCDINFO_LIBS linker flags for VCDINFO, overriding pkg-config +``` diff --git a/README.develop b/README.develop deleted file mode 100644 index 4937c85e..00000000 --- a/README.develop +++ /dev/null @@ -1,36 +0,0 @@ -Software you'll need to build a development version libcdio - - git - - GNU make (or even better "remake") - - autoconf version 2.67 or better - (which contains programs autoconf and autoreconf) - - automake version 1.11.1 or better - - libtool (for building shared libraries) - - m4 (used by autoconf) - - texinfo (for building documentation) - - help2man (turns help for libcdio standalone programs into manual pages) - -This is in addition to the software needed to build starting from a the -source tar. See README.libcdio for that additional software. - -Older versions of autoconf and automake might work, I've just not -tested that. - -The source code lives the GNU software repository https://savannah.gnu.org/ -The main page Savannah page is - https://savannah.gnu.org/projects/libcdio/ - -If you check out the source code, you'll need git installed. See the -project https://savannah.gnu.org/git/?group=libcdio for details, and -links for browsing the source or using git. - -Once you have git: - - git clone git://git.savannah.gnu.org/libcdio.git - -Change into the libcdio directory that just created and run the "autogen.sh" -shell script - - cd libcdio - sh ./autogen.sh - -Please see README.libcdio and follow those instructions starting at step 3. diff --git a/README.md b/README.md new file mode 100644 index 00000000..9097b82d --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +[](https://repology.org/project/libcdio/versions) [](https://repology.org/project/libcdio/versions) + + +# Introduction + +_Note: See [README-libcdio.md](README-libcdio.md) for installation instructions._ + + +The libcdio package contains a library for CD-ROM and CD image access. Applications wishing to be oblivious of the OS- and +device-dependent properties of a CD-ROM or of the specific details of various CD-image formats may benefit from using this library. + +A library for working with ISO-9660 filesystems libiso9660 is +included. A generic interface for issuing MMC (multimedia commands) is +also part of the libcdio library. + +Also included is a library for working with ISO-9660 filesystems. + +The CD-DA error/jitter correction library from +[cdparanoia](http://www.xiph.org/paranoia) is included as a separate +library licenced under GPL v2. + +Some support for disk image types like CDRWin's BIN/CUE format, +cdrdao's TOC format, and Nero's NRG format are available. Therefore, +applications that use this library also have the ability to read disc +images as though they were CD's. + +The library is written in C, however there are OO C++, Perl, Python +and Ruby wrappers to interface to the library. However C++ is the only +one that is bundled with this package, and the interfaces provide only +a subset of the full features of the library. + +Also included in the libcdio package are a number of utility programs: + +* `cd-info` - displays CD information: number of tracks, CD-format and + if possible basic information about the format. If [libcddb](http://libcddb.sourceforge.net) + is available, the `cd-info` program will display CDDB matches on CD-DA discs. + And if a new enough version of `libvcdinfo` is available (from the + vcdimager project), then `cd-info` shows basic VCD information. + +* `cd-read` - performs low-level block reading of a CD or CD image, + +* `iso-info` - displays ISO-9660 information from an ISO-9660 image, + +* `iso-read` - extracting files from an ISO-9660 image, a version of the + CD-DA extraction tool cdparanoia which corrects for + CD-ROM jitter, and a simple curses-based CD player, + cdda-player using the analog CD-ROM output. + +* `cd-paranoia` - port of cdparanoia (CD-DA jitter and error correction) + using libcdio back-end CD-reading. + +There is very limited low-level support for MMC commands on some +platforms. Using MMC writing can be done. However there is currently +little higher level-support for writing. Other libraries like `libburn`, +`libdi`, `libscg`, or `libdvdread` may be helpful. + +Some of the projects using libcdio are the Video CD authoring and +ripping tools [VCDImager](http://vcdimager.org), a navigation-capable +Video CD plugin and CD-DA plugins for the media players +[xine](http://xinehq.de), videolan's [vlc](http://videolan.org), media +players [mplayerxp](http://mplayerxp.sourceforge.net/) and +[gmerlin](http://gmerlin.sourceforge.net), +[kiso](http://kiso.sourceforge.net), a KDE GUI for creating, +extracting and editing ISO-9600 images and a Samba vfs module that +allows exporting a CD without mounting it +(<http://ontologistics.net/OpenSource/Samba/index.php>). |