diff --git a/README.md b/README.md index a58e93b8422854cc46e2337f6a94d78199575bdc..525038cb707f0741832e1a8bed172e14696c5311 100644 --- a/README.md +++ b/README.md @@ -16,40 +16,88 @@ NOTE: The use of option `copy` is strongly recommended. The remaining options mo ## Installation (Releases) +###Debian 10 +1. Update system packages (optional but recommended): + `sudo apt update && sudo apt upgrade -y` +2. Install required tools and libraries: + `sudo apt install -y unzip perl libperl-dev liblwp-protocol-https-perl libfile-copy-recursive-perl libmarc-record-perl libxml-libxml-perl libxml-xpath-perl libdatetime-format-iso8601-perl cpanminus && sudo cpanm Archive::BagIt` +3. Download the latest [Release](https://git.slub-dresden.de/digital-preservation/SLUB_SIP_Builder/-/releases): + → ZIP file like `SLUB_SIP_Builder.version-XYZ-master.zip` +4. Extract the ZIP archive and change into the project directory: + `unzip SLUB_SIP_Builder.version-XYZ-master.zip` + `cd SLUB_SIP_Builder` +5. Run SLUB SIP Builder: + → Try an example command from below + `perl bin/slubsipbuilderbagit.pl`... + +###Windows 10 +1. Check UTF-8 flag at [ENG] `Systemadministration/TimeAndRegion/Region/Administration/AreaPattern` or [DE] `Systemsteuerung/Zeit und Region/Region/Verwaltung/Gebietsschema ändern/`, for using such characters as `äöüÄÖÜß`. Computer will be restarted! +2. Download strawberry perl environment [strawberry-perl-5.30.3.1-64bit-portable](https://strawberryperl.com/releases.html) +3. Extract files from archive +4. Download [Archive::BagIt](https://metacpan.org/pod/Archive::BagIt) library (Example: Archive-BagIt-0.074.tar.gz) +5. Start strawberry perl console `portableshell.bat` + 1. Unpack archive `tar zxf Archive-BagIt-0.074.tar.gz` (alternative: 7-zip, if tar is not available) + 2. Change dir `cd Archive-BagIt-0.074` + 3. Generate Makefile `perl Makefile.pl` + 4. Run `gmake`, than `gmake install` + 5. Check if module installed `cpanm Archive::BagIt`. At this point Archive::BagIt module installed. + 6. Change dir back `cd ..` +6. Install additional libraries: + `cpanm MARC::Record XML::XPath DateTime::Format::ISO8601 Win32::Console::ANSI` +7. Download the latest [Release](https://git.slub-dresden.de/digital-preservation/SLUB_SIP_Builder/-/releases): + → ZIP file like `SLUB_SIP_Builder.version-XYZ-master.zip` +8. Extract the ZIP archive and change into the project directory: + `cd SLUB_SIP_Builder` +9. Run SLUB SIP Builder: + → Try an example command from below + `perl bin\slubsipbuilderbagit.pl`... + +## Development +This guide will help you run (unreleased) development versions provided in this repository. +Please note, only release builds are supported and will have version or release date information. + +###Debian 10 1. Update system packages (optional but recommended): `sudo apt update && sudo apt upgrade -y` 2. Install required tools and libraries: `sudo apt install -y build-essential git perl libperl-dev liblwp-protocol-https-perl libfile-copy-recursive-perl libmarc-record-perl libxml-libxml-perl libxml-xpath-perl libdatetime-format-iso8601-perl cpanminus` `sudo cpanm Archive::BagIt` -3. Download latest SLUB SIP Builder: +3. Clone SLUB SIP Builder repository: `git clone https://git.slub-dresden.de/digital-preservation/SLUB_SIP_Builder.git` - → Hint: For simple updates at a later date, just use `git pull` in directory `SLUB_SIP_Builder` to get the latest version -4. Run SLUB SIP Builder: `cd SLUB_SIP_Builder` + → Hint: For simple updates at a later date, just use `git pull` in directory `SLUB_SIP_Builder` to get the latest version. +4. Checkout the desired branch/tag/commit: + → for example most current master + `git checkout master` +4. Run unit tests (optional): + `perl t/slubsipbuilderbagit.t` +5. Run SLUB SIP Builder: → Try an example command from below `perl bin/slubsipbuilderbagit.pl`... -## Installation (Win 10) +### Windows 10 1. Check UTF-8 flag at [ENG] `Systemadministration/TimeAndRegion/Region/Administration/AreaPattern` or [DE] `Systemsteuerung/Zeit und Region/Region/Verwaltung/Gebietsschema ändern/`, for using such characters as `äöüÄÖÜß`. Computer will be restarted! 2. Download strawberry perl environment [strawberry-perl-5.30.3.1-64bit-portable](https://strawberryperl.com/releases.html) 3. Extract files from archive -4. Download [Archive::BagIt](https://metacpan.org/pod/Archive::BagIt) module (Example: Archive-BagIt-0.072.tar.gz) +4. Download [Archive::BagIt](https://metacpan.org/pod/Archive::BagIt) module (Example: Archive-BagIt-0.074.tar.gz) 5. Start strawberry perl console `portableshell.bat` - 1. Unpack archive `tar zxf Archive-BagIt-0.072.tar.gz` for example in the same dir where strawberryperl extracted - 2. Change dir `cd Archive-BagIt-0.072` + 1. Unpack archive `tar zxf Archive-BagIt-0.074.tar.gz` for example in the same dir where strawberryperl extracted + 2. Change dir `cd Archive-BagIt-0.074` 3. Generate Makefile `perl Makefile.pl` 4. Run `gmake`, than `gmake install` - 5. Check if module installed `cpanm Archive::BagIt`. At this point Archive::BagIt module installed. -6. Download [SLUB_SIP_Builder](https://git.slub-dresden.de/digital-preservation/SLUB_SIP_Builder) as zip -7. Extract files from archive -8. Change console path to extracted SLUB_SIP_Builder -9. Run tests `perl t/slubsipbuilderbagit.t` or `prove.t` and errors will come like 'Can't locate MARC/Record.pm in @INC (you may need to install the `MARC::Record` module) ...' -10. Copy from error module name and install it, repeat step 9 and 10 till test process starts. - * `cpanm MARC::Record` - * `cpanm XML::XPath` - * `cpanm DateTime::Format::ISO8601` - * `cpanm Win32::Console::ANSI` -11. All tests must process successfully and you are ready to go with Bag creation. + 5. Check if module installed `cpanm Archive::BagIt`. At this point Archive::BagIt module installed. + 6. Change dir back `cd ..` +6. Install additional libraries: + `cpanm MARC::Record XML::XPath DateTime::Format::ISO8601 Win32::Console::ANSI` +7. Clone SLUB SIP Builder repository: + `git clone https://git.slub-dresden.de/digital-preservation/SLUB_SIP_Builder.git` + `cd SLUB_SIP_Builder` + → Hint: For simple updates at a later date, just use `git pull` in directory `SLUB_SIP_Builder` to get the latest version. +8. Run unit tests (optional): + `perl t\slubsipbuilderbagit.t` +9. Run SLUB SIP Builder: + → Try an example command from below + `perl bin\slubsipbuilderbagit.pl`... ## Documentation * The Project is based on the BagIt 1.0 specification, visit [RFC8493](https://tools.ietf.org/html/rfc8493) for more information.