Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: libphysfs1 | Distribution: SUSE Linux Enterprise 15 SP6 |
Version: 3.2.0 | Vendor: openSUSE |
Release: bp156.2.5 | Build date: Tue Mar 19 09:46:07 2024 |
Group: System/Libraries | Build host: obs-power8-03 |
Size: 276030 | Source RPM: physfs-3.2.0-bp156.2.5.src.rpm |
Packager: https://bugs.opensuse.org | |
Url: https://www.icculus.org/physfs/ | |
Summary: PhysicsFS file abstraction layer for games |
PhysicsFS is a library to provide abstract access to various archives. It is intended for use in video games, and the design was somewhat inspired by Quake 3's file subsystem. The programmer defines a "write directory" on the physical filesystem. No file writing done through the PhysicsFS API can leave that write directory, for security. For example, an embedded scripting language cannot write outside of this path if it uses PhysFS for all of its I/O, which means that untrusted scripts can run more safely. Symbolic links can be disabled as well, for added safety. For file reading, the programmer lists directories and archives that form a "search path". Once the search path is defined, it becomes a single, transparent hierarchical filesystem. This makes for easy access to ZIP files in the same way as you access a file directly on the disk, and it makes it easy to ship a new archive that will override a previous archive on a per-file basis. Finally, PhysicsFS gives you platform-abstracted means to determine if CD-ROMs are available, the user's home directory, where in the real filesystem your program is running, etc.
(CPL-1.0 OR LGPL-2.1-or-later) AND Zlib
* Sat Dec 03 2022 Dirk Müller <dmueller@suse.com> - update to 3.2.0: * Several changes were made to accommodate our migration from hg on our own Mercurial server to git and GitHub. * Tons of important fixes going back to Sep 27, 2017. Including static analysis fixes, platform compatibility improvements, etc. * Added PHYSFS_setRoot, to mount a subset of an archive. * Support for HOG2 (Descent 3) archives. * Sun Mar 29 2020 Christophe Giboudeaux <christophe@krop.fr> - Update to 3.0.2: * physfsrwops: Patched to compile for use with SDL 1.2 * 7zip: don't forget to destroy the PHYSFS_Io when closing the archive * ignorecase: Don't crash if enumeration returned a NULL pointer. * Fix up physfs.h for compilers that are sensitive about preprocessor defines. * PHYSFS_setWriteDir() shouldn't create an empty file if the dir doesn't exist. * PHYSFS_flush() no longer calls PHYSFS_Io::flush() - Spec cleanup. - Drop physfs-empty_dir_fix.patch. Merged upstream. * Tue Dec 11 2018 buckyballreaction@gmail.com - Add physfs-empty_dir_fix.patch (hg a29fef4a20fd, fixes creation of empty files when a directory doesn't exist) - Removed physfs-gcc7.patch (fixed in upstream) * Mon Dec 10 2018 buckyballreaction@gmail.com - Notable changes in 3.0.1: * Trying to use the new mount functions (PHYSFS_mountIo, PHYSFS_mountMemory, PHYSFS_mountHandle) with a NULL filename would cause several problems. This now reports an error without mounting. Docs have been corrected to reflect this reality. * Trying to mounting an archive inside a .zip file with PHYSFS_mountHandle() would crash with a NULL pointer dereference. Fixed. * Trying to access a file in the search path named "." or ".." no longer succeeds. Previously, this bug meant you could enumerate (but not access) files in the parent of a mounted native directory. Trying to open "." or ".." might have crashed or hung PhysicsFS. This only applies to the literal string "." or ".."; if there was a '/' char in the path, PhysicsFS would correctly reject a path with an element named as such. * Trying to mount a symlink to a directory would (incorrectly) fail on Unix and Apple platforms instead of mounting the directory the symlink points to. Fixed. * Fixed several crashes/hangs that a maliciously-crafted .iso file could trigger. - Notable changes in 3.0.0: * PhysicsFS now is super-easy to build. You can usually just drop all the C files into your project and compile it with everything else without any magic configuration step. The CMake file is still there and useful for packaging, etc, but it's 100% optional. * ZIP files can now use the newer zip64 format. * ZIP files may be password-protected. As the PkWare specs specify, each file in the .zip may have a different password, so you call PHYSFS_openRead(a, "file_that_i_want.txt$PASSWORD") to make it work. Note that this is a wildly insecure way to protect your app's data, both in how you'd have to manage passwords and that "traditional" PkWare crypto is not really hardened anyhow. But if you have a basic password-protected archive, PhysicsFS can get into it now! * 7zip support has been rewritten and improved. * ISO9660 archives are now supported. * VDF (Gothic/Gothic2) archives are now supported. * SLB (Independence War) archives are now supported. * Everything behind the scenes now uses an abstract i/o interface (PHYSFS_Io) instead of talking directly to files, and this interface is available to applications. This allows you to mount anything as an archive that you can wrap in a PHYSFS_Io, through the new PHYSFS_mountIo() function. The obvious and most useful implementations are already implemented for you behind the scenes on top of PHYSFS_Io: PHYSFS_mountMemory() to mount an archive that's in a block of RAM, and PHYSFS_mountHandle() to mount from a PHYSFS_File*...that is to say: you now have an interface to do archives inside archives. * The abstract interface that PhysicsFS uses to talk to archives (PHYSFS_Archiver) is now public, so apps can implement their own archivers and register them into the system. If you have a custom archive format for your app, you can plug it into PhysicsFS at runtime without modifying PhysicsFS itself. * There's now a PHYSFS_getPrefDir() to figure out where it is safe to write files on a given platform. This is usually a per-user, per-application space, and should be used instead of PHYSFS_getUserDir(). It might report something under ~/Library/Application Support on a Mac, somewhere under AppData for Windows, or ~/.local/share on Linux, etc. * There's now a PHYSFS_unmount() to match 2.0.0's PHYSFS_mount(). * There's now a PHYSFS_utf8FromUtf16(), so stop using PHYSFS_utf8FromUcs2(). :) * There's now PHYSFS_utf8stricmp() for case-insensitive UTF-8 string comparison, in case you need to compare filenames. * Enumerating files can now report errors, instead of quietly dropping files when there were problems. Enumeration callbacks can now return results too ("keep going", "stop enumerating, no error I just got what I needed", "something went wrong, stop and return an error to the app"). * There is now a PHYSFS_stat() call that returns metadata on a specific file as a whole instead of using PHYSFS_isDirectory(), PHYSFS_getLastModTime(), etc separately). * There's now a PHYSFS_readBytes() function that operates more like Unix read()...the older PHYSFS_read() operates more like ANSI C's fread(), but had undefined behavior if it reads half an object. There is also an equivalent PHYSFS_writeBytes(). * Errors are now reported by numeric codes your app can process (there's a function to turn them into human readable strings). Apps can set the per-thread error code now, too, which is useful if you're writing an PHYSFS_Archiver or PHYSFS_Io. * The OS/2 port has Unicode support now. * The Windows port now uses UTF-16 for Unicode instead of UCS-2, and dropped the ANSI fallbacks (so among other hurdles, you'll need to bring your own UNICOWS.DLL if you want Win95 support still). * Lots of improvements, redesigns, bug fixes, corner cases, and optimizations. * There's now a buildbot that makes sure this builds across two dozen different targets on every commit: https://physfs-buildbot.icculus.org/waterfall * New platforms: iOS, Android, Emscripten, WinRT (UWP, Windows Phone, Windows Store), Win64, QNX, Solaris, Hurd, Debian/kFreeBSD, ArcaOS, probably others. * Dropped platforms: BeOS (Haiku is still supported), Windows CE (Windows Phone is supported), Windows 95/98/ME (WinXP and later are supported) MacOS Classic (macOS and iOS are supported). Even these might work with minor patches if there's an urgent demand. * Probably many other things. This work encompasses many years of effort and quite a bit of internal redesign. * Wed Jun 21 2017 dimstar@opensuse.org - Add physfs-gcc7.patch: Fix build with gcc7 (boo#1041279). * Sat Aug 20 2016 mailaender@opensuse.org - Add a pkgconfig file * Wed Feb 10 2016 mpluskal@suse.com - Use cmake macros * Tue Nov 26 2013 speilicke@suse.com - Remove physfs-2.0.2-gcc46.patch (merged upstream) * Fri Nov 15 2013 mailaender@opensuse.org - Source code now packaged in a .tar.bz2 instead of .tar.gz. - Fixed "make docs" for out-of-tree builds. - No longer builds annoying wxWidgets test program by default. - Fixed logic bug in UTF-8 string processing. - Fixed infinite loop on some .zip files with symlinks. - Fixed building of readline support in test program. - Fixed .zip archiver losing files in some cases. - Corrected copyright dates in license. - Other minor tweaks and fixes. * Mon Mar 05 2012 cfarrell@suse.com - license update: (LGPL-2.1+ or CPL-1.0) and Zlib For a license such as this brackets are needed to avoid ambiguity
/usr/lib64/libphysfs.so.1 /usr/lib64/libphysfs.so.3.2.0 /usr/share/doc/packages/libphysfs1 /usr/share/doc/packages/libphysfs1/CREDITS.txt /usr/share/doc/packages/libphysfs1/INSTALL.txt /usr/share/doc/packages/libphysfs1/TODO.txt /usr/share/licenses/libphysfs1 /usr/share/licenses/libphysfs1/LICENSE.txt
Generated by rpm2html 1.8.1
Fabrice Bellet, Tue Jul 9 19:51:39 2024