{"id":19011500,"url":"https://github.com/perrywerneck/libisofs","last_synced_at":"2026-06-16T23:31:24.432Z","repository":{"id":114541787,"uuid":"531457095","full_name":"PerryWerneck/libisofs","owner":"PerryWerneck","description":null,"archived":false,"fork":false,"pushed_at":"2022-09-05T11:37:34.000Z","size":2139,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-21T15:51:34.368Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PerryWerneck.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"Roadmap","authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-01T09:50:28.000Z","updated_at":"2022-09-01T09:51:13.000Z","dependencies_parsed_at":"2023-05-12T03:30:14.318Z","dependency_job_id":null,"html_url":"https://github.com/PerryWerneck/libisofs","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"purl":"pkg:github/PerryWerneck/libisofs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerryWerneck%2Flibisofs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerryWerneck%2Flibisofs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerryWerneck%2Flibisofs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerryWerneck%2Flibisofs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PerryWerneck","download_url":"https://codeload.github.com/PerryWerneck/libisofs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PerryWerneck%2Flibisofs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34428196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T19:14:39.282Z","updated_at":"2026-06-16T23:31:24.416Z","avatar_url":"https://github.com/PerryWerneck.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"------------------------------------------------------------------------------\n                                    libisofs\n------------------------------------------------------------------------------\n\nReleased under GNU General Public License version 2 or later.\nSee COPYING file for details.\n\nCopyright (C) 2008 - 2021 Vreixo Formoso,\n                          Mario Danic,\n                          Vladimir Serbinenko,\n                          Thomas Schmitt\n\nlibisofs is part of the libburnia project (libburnia-project.org)\n------------------------------------------------------------------------------\n\n                        Download, Build and Installation\n\nlibisofs code is maintained in a git repository at dev.lovelyhq.com\n(https://dev.lovelyhq.com/libburnia/libisofs). You can download it with:\n\n$ git clone https://dev.lovelyhq.com/libburnia/libisofs.git\n\nOur build system is based on autotools. For preparing the build you will need \nautotools of at least version 1.7. If you have downloaded the code from the\nrepository, first of all you need to execute\n\n   ./bootstrap\n   \nin the toplevel directory ./libisofs, in order to execute autotools.\n\nAlternatively you may unpack a release tarball for which you do not need\nautotools installed. For the most recent release of libisofs see:\n   https://dev.lovelyhq.com/libburnia/web/wiki/Releases\n\nTo build libisofs go into its toplevel directory and execute\n\n   ./configure --prefix=/usr\n   make\n\nTo make the libraries accessible for running and developing applications \n   make install\n\nOn GNU/Linux it will try to run program ldconfig with the library installation\ndirectory as only argument. Failure to do so will not abort installation.\nOne may disable ldconfig by ./configure option --disable-ldconfig-at-install .\n\nBy use of a version script, the libisofs.so library exposes no other function\nnames but those of the API definitions in \u003clibisofs/libisofs.h\u003e.\nIf -Wl,--version-script=... makes problems with the local compiler, then\ndisable this encapsulation feature by\n    ./configure --disable-versioned-libs\n    make clean ; make\n\nThe ./configure script checks for the availability of supporting libraries.\nIf found, they will become mandatory for the emerging libisofs.so and all\napplications which use it. This dependency can be avoided by configure options\n    --disable-libacl   avoid use of ACL functions like acl_to_text()\n    --disable-xattr    avoid use of xattr functions like listxattr()\n    --disable-zlib     avoid use of zlib functions like compress2()\n    --disable-libjte   avoid use of libjte functions\n\nSee INSTALL file for general options of ./configure.\n\n\n------------------------------------------------------------------------------\n\nlibisofs is a library to create an ISO-9660 filesystem, supports extensions\nlike RockRidge or Joliet, and introduces an own extension AAIP.\nIt is a full featured ISO-9660 editor which composes and changes the directory\ntree of an ISO image. This tree and its newly imported data file contents get\nthen written as independent single-session image or as add-on session for the\nimage from where the tree was originally loaded.\n\nFeatures:\n---------\n\n- Image creation\n\t- Creates ISO-9660 images from local files.\n\t- Support for RockRidge and Joliet extensions.\n\t- Support for ISO-9660:1999 (version 2).\n\t- Support for El-Torito bootable images. Tested are: PC-BIOS and EFI.\n\t- Support for multi-extent data files up to 400 GB (level 3).\n\t- Full-featured edition of the image files, including: addition of new\n\t  files, removing of existent files, moving files, renaming files,\n\t  change file attributes (permissions, timestamps...)\n\t- Optional recording per file of non-ISO 9660 features:\n\t  ACL, xattr, content MD5, hard link relations.\n\t  They do not hamper image readability by operating systems but can be\n\t  retrieved only via libisofs.\n\t- Optional zisofs compression, gzip compression, external filter\n\t  processes.\n\t- Several options to relax ISO-9660 constraints.\n\t- Special options for images intended for distribution (suitable\n\t  default modes for files, hiding of real timestamps...).\n- Image reading\n\t- Image tree and data heap can be verified by stream reading and\n\t  eventually recorded MD5 tags.\n\t- Directory tree and file attributes of ISO 9660 session get loaded\n\t  into memory for editing or for extraction into local filesystem.\n\t- File content can be read by applications.\n\t- Automatic zisofs decompression.\n\t- Optional application of gzip decompression or external filter\n\t  processes.\n\t- Eventually recorded MD5 of data file can be obtained, MD5 of data\n\t  stream can be computed and compared.\n\t- Helper functions for restoring ACL and/or xattr to the local\n\t  filesystem.\n- Multisession\n\t- Support for growing an existing image on multi-session media.\n\t- Support for \"emulated multisession\" on overwriteable media such as\n\t  DVD+RW, USB sticks, regular files.\n\t- Support for blindly prepared add-on sessions (mkisofs style -M -C)\n\t  suitable for pipes which lead to an external burn program.\n- Image modification\n\t- Creates a completely new image from files out of another image and\n\t  eventual editing operations. Suitable for any target medium.\n- Others\n\t- Handling of different input and output charset.\n\t- Good integration with libburn for image burning.\n\t- Reliable, good handling of different kind of errors.\n\nRequirements:\n-------------\n\n- iconv() functions for character set conversion must be available.\n  Either implicitely as in Linux or by a separate library like libiconv\n  on FreeBSD.\n  \nKnow bugs:\n----------\n\nMultisession and image growing can lead to undesired results in several cases:\n\na) Images with unsupported features, such as:\n\t- UDF.\n\t- HSF/HFS+ or other Mac extensions.\n\t- ECMA-119 Extended attributes.\n\t- ...\n   In all these cases, the resulting new image (or new session) could lack some\n   features of the original image. Nevertheless, the ECMA-119 System Area with\n   an eventual Master Boot Record gets preserved by default.\n   In some cases libisofs will issue warning messages, or even refuse to grow\n   or modify the image. Others remain undetected. Images created with libisofs\n   do not have this problems.\n\nb) Bootable El-Torito images may have problems, that result in a new image that\n   is not bootable, or that boots from an outdated session. In some cases it\n   might be necessary to add boot info again in a new first session.\n    - There is no safe way to modify hidden boot images, as the size of the \n      boot image can't be figured out.\n\nc) Generated images could have different ECMA-119 low level names, due to \n   different way to mangle names, to new files added that force old files to \n   be renamed, to different relaxed contraints... This only affect the \n   ISO-9660 info, not the RR names, so it shouldn't be a problem in most\n   cases. If your app. relies on low level ISO-9660 names, you will need to \n   ensure all node names are valid ISO names (maybe together with some\n   relaxed contraints), otherwise libisofs might arbitrarily change the names.\n\n\n------------------------------------------------------------------------------\n\n    This program is free software; you can redistribute it and/or modify\n    it under the terms of the GNU General Public License version 2 or later\n    as published by the Free Software Foundation.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program; if not, write to the Free Software\n    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\n\n------------------------------------------------------------------------------\nClarification in my name and in the name of Mario Danic, upcoming copyright\nholders on toplevel of libburnia. To be fully in effect after the remaining\nother copyrighted code has been replaced by ours and by copyright-free\ncontributions of our friends.\n\nNote:\nIn the particular case of libisofs there is no foreign copyright involved.\nAs of 2010 foreign copyright is only in component libburn.\n------------------------------------------------------------------------------\n\nWe will not raise any legal protest to dynamic linking of our libraries\nwith applications that are not under GPL, as long as they fulfill\nthe condition of offering the library source code used, whether\naltered or unaltered, under the GPLv2+, along with the application.\nNevertheless, the safest legal position is not to link libburn with\nnon-GPL compatible programs.\n\nWe ask you politely to use our work in open source spirit\nand with the due reference to the entire open source community.\n\nIf there should really arise the case where above clarification\ndoes not suffice to fulfill a clear and neat request in open source\nspirit that would otherwise be declined for mere formal reasons,\nonly in that case we will duely consider to issue a special license\ncovering only that special case.\nIt is the open source idea of responsible freedom which will be\ndecisive and you will have to prove that you exhausted all own\nmeans to qualify for GPL.\n\nWe are firmly committed to allow GPLv2+ now and with future releases.\n\nSigned: Mario Danic, Thomas Schmitt\nAgreement joined later by: Vreixo Formoso\n\nPublic contact: \u003cbug-xorriso@gnu.org\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperrywerneck%2Flibisofs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperrywerneck%2Flibisofs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperrywerneck%2Flibisofs/lists"}