Compare commits

...

6 Commits

Author SHA1 Message Date
Stéphane Lesimple
42bb0a120b release v0.79.10-pl3 2024-02-18 18:29:12 +01:00
Stéphane Lesimple
8d24545c88 fix: corrupt data under Windows with mmap (fixes #82) (#87) 2024-02-18 12:26:41 +01:00
Stéphane Lesimple
16ea27d791 fix: re-enable buttons after Split is used (#86) 2024-02-18 12:21:57 +01:00
Stéphane Lesimple
a7c5268f37 fix: suboptimal layout for RS03 w/o defect management (#79) (#80)
* fix: suboptimal layout for RS03 w/o defect management (#79)

Co-authored-by: jpovixwm <53523617+jpovixwm@users.noreply.github.com>
2024-01-18 11:13:55 +01:00
Stéphane Lesimple
45ff2c5fda chore: update github actions 2023-10-01 15:02:53 +02:00
Stéphane Lesimple
1338598abb chore: fix github actions for release (macOS and AppImage) 2023-09-17 22:39:37 +02:00
18 changed files with 120 additions and 105 deletions

View File

@@ -33,7 +33,9 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
persist-credentials: false
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

View File

@@ -21,8 +21,8 @@ else
fi
archive=dvdisaster-$(echo "$github_ref" | grep -Eo '[^/]+$')-$suffix.zip
echo "Archive name is $archive"
echo "::set-output name=archive::$archive"
[ -n "$GITHUB_OUTPUT" ] && echo "archive=$archive" >> "$GITHUB_OUTPUT"
echo "appimage is <$archive>"
mkdir -p dist/locale
cp -vr locale/*/ dist/locale/
@@ -48,4 +48,4 @@ if command -v zip >/dev/null; then
zip -9r $archive ${archive/.zip/}
mv ${archive/.zip/} dist
fi
echo "dist done ($archive)"
echo "dist done ($archive)"

View File

@@ -3,12 +3,18 @@ set -e
set -x
github_ref="$1"
archive="dvdisaster-$(echo "$github_ref" | grep -Eo '[^/]+$').dmg"
echo "Archive name is $archive"
echo "::set-output name=archive::$archive"
if ./dvdisaster --version | grep -q NOGUI; then
suffix="-cli-only"
else
suffix=""
fi
mkdir dist
archive="dvdisaster-$(echo "$github_ref" | grep -Eo '[^/]+$')$suffix.dmg"
[ -n "$GITHUB_OUTPUT" ] && echo "archive=$archive" >> "$GITHUB_OUTPUT"
echo "mac dmg is <$archive>"
mkdir -p dist
# Create directory structure for the macOS application bundle
mkdir -p dvdisaster.app/Contents/{MacOS,Resources}
@@ -42,4 +48,4 @@ mv dvdisaster.app dist
create-dmg "$archive" dist
echo "dist done ($archive)"
echo "dist done ($archive)"

View File

@@ -1,8 +1,9 @@
name: autobuild
on:
release:
types: [published]
push:
tags:
- "v*"
jobs:
mac:
@@ -14,7 +15,9 @@ jobs:
- ui: cli
clionly: --with-gui=no
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: install prerequisites
env:
HOMEBREW_NO_INSTALL_CLEANUP: 1
@@ -45,16 +48,11 @@ jobs:
- name: build dist
run: ./.github/workflows/make-mac-app.sh ${{ github.ref }}
id: dist
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Release
uses: softprops/action-gh-release@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./${{ steps.dist.outputs.archive }}
asset_name: ${{ steps.dist.outputs.archive }}
asset_content_type: application/zip
files: ${{ steps.dist.outputs.archive }}
draft: true
win:
runs-on: windows-latest
@@ -86,7 +84,9 @@ jobs:
- name: git config
run: git config --global core.autocrlf input
shell: bash
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: configure
run: ./configure ${{ matrix.clionly }}
- name: make
@@ -111,21 +111,18 @@ jobs:
run: |
cd dist
dvdisaster.exe --version
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Release
uses: softprops/action-gh-release@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./${{ steps.dist.outputs.archive }}
asset_name: ${{ steps.dist.outputs.archive }}
asset_content_type: application/zip
files: ${{ steps.dist.outputs.archive }}
draft: true
linux64-cli:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: install prerequisites
run: sudo apt update && sudo apt install -y libglib2.0-dev ghostscript man
- name: configure
@@ -140,51 +137,52 @@ jobs:
- name: build dist
run: ./.github/workflows/make-dist.sh ${{ github.ref }}
id: dist
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Release
uses: softprops/action-gh-release@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./${{ steps.dist.outputs.archive }}
asset_name: ${{ steps.dist.outputs.archive }}
asset_content_type: application/zip
files: ${{ steps.dist.outputs.archive }}
draft: true
linux64-appimage:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: install prerequisites on host
run: sudo apt-get update && sudo apt-get install -y fuse
- name: docker
run: |
sudo apt-get update && sudo apt-get install fuse
mkdir /tmp/dist
mkdir -p /tmp/dist
docker run --device /dev/fuse --privileged --name uu -d -v $PWD:/code -v /tmp/dist:/dist ubuntu:14.04 sleep 1800
- name: install prerequisites
run: docker exec uu sh -c 'sudo apt update && sudo apt install -y libglib2.0-dev ghostscript man wget libgtk2.0-dev gtk2-engines-pixbuf gtk2-engines pkg-config gnome-themes-standard'
- name: configure
- name: install prerequisites in docker
run: docker exec uu sh -c 'sudo apt update && sudo apt install -y libglib2.0-dev ghostscript man libgtk2.0-dev gtk2-engines-pixbuf gtk2-engines pkg-config gnome-themes-standard fuse'
- name: configure in docker
run: docker exec uu sh -c 'cd /code && ./configure --prefix=/usr'
- name: make
- name: make in docker
run: docker exec uu sh -c 'make -C /code -j$(nproc) && make -C /code'
- name: make install
- name: make install in docker
run: docker exec uu sh -c 'cd /code && touch documentation/user-manual/manual.pdf && make install DESTDIR=/dist'
- name: copy things to dist
- name: copy things to dist in docker
run: docker exec uu sh -c 'install -d /dist/usr/lib/gtk-2.0 && cp -va $(pkg-config --variable=libdir gtk+-2.0)/gtk-2.0/$(pkg-config --variable=gtk_binary_version gtk+-2.0)/* /dist/usr/lib/gtk-2.0'
- name: build appimage
- name: build appimage in docker
run: |
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
wget -q https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
chmod 755 linuxdeploy-x86_64.AppImage
export VERSION=$(echo "${{ github.ref }}" | grep -Eo '[^/]+$')
./linuxdeploy-x86_64.AppImage -d contrib/dvdisaster.desktop -i contrib/dvdisaster64.png -i contrib/dvdisaster48.png -i contrib/dvdisaster32.png -i contrib/dvdisaster16.png --icon-filename dvdisaster --custom-apprun=contrib/AppRun.sh --appdir /tmp/dist/ --output appimage
docker exec -e LINUXDEPLOY_OUTPUT_VERSION=$(echo "${{ github.ref }}" | grep -Eo '[^/]+$') -e ARCH=x86_64 uu sh -c 'cd /code && ./linuxdeploy-x86_64.AppImage -d contrib/dvdisaster.desktop -i contrib/dvdisaster64.png -i contrib/dvdisaster48.png -i contrib/dvdisaster32.png -i contrib/dvdisaster16.png --icon-filename dvdisaster --custom-apprun=contrib/AppRun.sh --appdir /dist/ --output appimage'
- name: fix perms
run: docker exec uu sh -c "chown -R $UID /dist /code/*.AppImage"
- name: apply glib workaround
env:
ARCH: x86_64
run: |
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
wget -q https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod 755 appimagetool-x86_64.AppImage
exe=$(ls -1 dvdisaster*.AppImage)
chmod 755 $exe
./$exe --appimage-extract
rm -vf $exe
./appimagetool-x86_64.AppImage -v squashfs-root
env LINUXDEPLOY_OUTPUT_VERSION=$(echo "${{ github.ref }}" | grep -Eo '[^/]+$') ./appimagetool-x86_64.AppImage -v squashfs-root
mv -v dvdisaster*AppImage $exe
chmod 755 $exe
- name: test appimage
@@ -192,15 +190,10 @@ jobs:
run: |
chmod 755 dvdisaster*.AppImage && ./dvdisaster*.AppImage --version
archive=$(ls -1 dvdisaster*.AppImage)
echo "::set-output name=archive::$archive"
echo "archive=$archive" >> "$GITHUB_OUTPUT"
echo "appimage is <$archive>"
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Release
uses: softprops/action-gh-release@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./${{ steps.dist.outputs.archive }}
asset_name: ${{ steps.dist.outputs.archive }}
asset_content_type: application/zip
files: ${{ steps.dist.outputs.archive }}
draft: true

View File

@@ -15,7 +15,9 @@ jobs:
- printf: fmtdbg
debugprintf: --with-debug-printf-format
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: install prerequisites
env:
HOMEBREW_NO_INSTALL_CLEANUP: 1
@@ -83,7 +85,9 @@ jobs:
- name: git config
run: git config --global core.autocrlf input
shell: bash
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: configure
run: |
echo running ./configure ${{ matrix.clionly }} ${{ matrix.debugprintf }} --with-werror
@@ -126,7 +130,9 @@ jobs:
- printf: fmtdbg
debugprintf: --with-debug-printf-format
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: install prerequisites
env:
DEBIAN_FRONTEND: noninteractive

View File

@@ -20,6 +20,10 @@
# You should have received a copy of the GNU General Public License
# along with dvdisaster. If not, see <http://www.gnu.org/licenses/>.
0.79.10.patchlevel-3 17-02-2024 *UNOFFICIAL*
- fix: corrupt data under Windows with mmap
- fix: re-enable buttons after Split is used
0.79.10.patchlevel-2 17-09-2023 *UNOFFICIAL*
- re-introduced MacOS build. No other functional change since v0.79.10-pl1.

View File

@@ -30,9 +30,10 @@ This version is built on top of the latest upstream version, with the following
Please refer to the [CHANGELOG](CHANGELOG) for all the details.
:loudspeaker: As of 2021, upstream development resumed [on a new website](https://dvdisaster.jcea.es/).
We're working with the new team to upstream as much code as possible from this unofficial version.
Even if at some point we succeed in upstreaming all our patches, and both codebases are exactly the same,
In 2021, upstream development briefly resumed [on a new website](https://dvdisaster.jcea.es/).
The new team successfully picked up some of the improvements of this unofficial version.
If/when upstream resumes development again, their changes will be merged back here when possible.
In any case, even if at some point we succeed in upstreaming all our patches, and both codebases are exactly the same,
this repository will stay up as it provides automated tests and prebuilt binaries.
This version will never break compatibility with upstream versions,

2
configure vendored
View File

@@ -40,7 +40,7 @@ fi
# Set the package name and version
PACKAGE dvdisaster 0.79.10
DEFINE_INT PATCHLEVEL 2
DEFINE_INT PATCHLEVEL 3
DEFINE_STRING HAVE_UNSTABLE_RELEASE 1
DEFINE_STRING HOMEPAGE "https://dvdisaster.jcea.es"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dvdisaster 0.79\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-17 19:21+0200\n"
"POT-Creation-Date: 2024-02-17 16:51+0100\n"
"PO-Revision-Date: 2011-07-24 21:12+0100\n"
"Last-Translator: Jindřich Šesták <khagaroth@users.sourceforge.net>\n"
"Language-Team: none (individual translator)\n"
@@ -6275,7 +6275,7 @@ msgstr "Vzorový disk"
#: src/welcome-window.c:84
msgid ""
"This is <b>v0.79.10-pl2</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"This is <b>v0.79.10-pl3</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"We add support for BD-R TL/QL, Windows and MacOS builds, an option to produce bigger BD-R RS03,\n"
"images, support for stripping ECC from ISOs, re-enabled adaptive reading (except for RS03), and more.\n"
"\n"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dvdisaster 0.52.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-17 19:21+0200\n"
"POT-Creation-Date: 2024-02-17 16:51+0100\n"
"PO-Revision-Date: 2004-11-30 19:48+0100\n"
"Last-Translator: Carsten Gnörlich <carsten@dvdisaster.de>\n"
"Language-Team: German <de@li.org>\n"
@@ -6400,7 +6400,7 @@ msgstr "Beispiel-Datenträger"
#: src/welcome-window.c:84
msgid ""
"This is <b>v0.79.10-pl2</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"This is <b>v0.79.10-pl3</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"We add support for BD-R TL/QL, Windows and MacOS builds, an option to produce bigger BD-R RS03,\n"
"images, support for stripping ECC from ISOs, re-enabled adaptive reading (except for RS03), and more.\n"
"\n"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dvdisaster 0.52.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-17 19:21+0200\n"
"POT-Creation-Date: 2024-02-17 16:51+0100\n"
"PO-Revision-Date: 2005-01-01 14:24+0100\n"
"Last-Translator: Andrea Polverini <polve@polve.com>\n"
"Language-Team: Italian <>\n"
@@ -5851,7 +5851,7 @@ msgstr ""
#: src/welcome-window.c:84
msgid ""
"This is <b>v0.79.10-pl2</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"This is <b>v0.79.10-pl3</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"We add support for BD-R TL/QL, Windows and MacOS builds, an option to produce bigger BD-R RS03,\n"
"images, support for stripping ECC from ISOs, re-enabled adaptive reading (except for RS03), and more.\n"
"\n"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dvdisaster 0.72.rc2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-17 19:21+0200\n"
"POT-Creation-Date: 2024-02-17 16:51+0100\n"
"PO-Revision-Date: 2010-06-09 11:13+0200\n"
"Last-Translator: cg <cg@dvdisaster.org>\n"
"Language-Team: Portuguese\n"
@@ -6155,7 +6155,7 @@ msgstr "Disco de exemplo"
#: src/welcome-window.c:84
msgid ""
"This is <b>v0.79.10-pl2</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"This is <b>v0.79.10-pl3</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"We add support for BD-R TL/QL, Windows and MacOS builds, an option to produce bigger BD-R RS03,\n"
"images, support for stripping ECC from ISOs, re-enabled adaptive reading (except for RS03), and more.\n"
"\n"

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dvdisaster 0.70.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-17 19:21+0200\n"
"POT-Creation-Date: 2024-02-17 16:51+0100\n"
"PO-Revision-Date: 2009-07-23 08:11+0300\n"
"Last-Translator: Igor Gorbounov <igor.gorbounov@gmail.com>\n"
"Language-Team: Russian\n"
@@ -6166,7 +6166,7 @@ msgstr "Пример диска"
#: src/welcome-window.c:84
msgid ""
"This is <b>v0.79.10-pl2</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"This is <b>v0.79.10-pl3</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"We add support for BD-R TL/QL, Windows and MacOS builds, an option to produce bigger BD-R RS03,\n"
"images, support for stripping ECC from ISOs, re-enabled adaptive reading (except for RS03), and more.\n"
"\n"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dvdisaster\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-09-17 19:21+0200\n"
"POT-Creation-Date: 2024-02-17 16:51+0100\n"
"PO-Revision-Date: 2006-06-14 23:48+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -5862,7 +5862,7 @@ msgstr ""
#: src/welcome-window.c:84
msgid ""
"This is <b>v0.79.10-pl2</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"This is <b>v0.79.10-pl3</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"We add support for BD-R TL/QL, Windows and MacOS builds, an option to produce bigger BD-R RS03,\n"
"images, support for stripping ECC from ISOs, re-enabled adaptive reading (except for RS03), and more.\n"
"\n"

View File

@@ -747,6 +747,9 @@ static void stripecc_cleanup(gpointer data)
if (image)
CloseImage(image);
if(Closure->guiMode)
GuiAllowActions(TRUE);
GuiExitWorkerThread();
}

View File

@@ -533,34 +533,30 @@ RS03Layout *CalcRS03Layout(Image *image, int target)
lay->mediumCapacity = DVD_SL_SIZE; /* Single layered DVD */
else if(get_roots(dataSectors, DVD_DL_SIZE) >= 8)
lay->mediumCapacity = DVD_DL_SIZE; /* Double layered DVD */
else if(get_roots(dataSectors, BD_SL_SIZE) >= 8) {
/* Single layered BD */
if (Closure->noBdrDefectManagement)
lay->mediumCapacity = BD_SL_SIZE_NODM;
else
lay->mediumCapacity = BD_SL_SIZE;
}
else if(get_roots(dataSectors, BD_DL_SIZE) >= 8) {
/* Single layered BD w/o defect management, test it before the
version w/ DM, even if it's larger in size, because if the
user chose to disable DM, that's what they want over the w/ DM
version anyway. This also applies to 2, 3 and 4 layered BDs:
*/
else if(Closure->noBdrDefectManagement && get_roots(dataSectors, BD_SL_SIZE_NODM) >= 8)
lay->mediumCapacity = BD_SL_SIZE_NODM;
else if(get_roots(dataSectors, BD_SL_SIZE) >= 8)
lay->mediumCapacity = BD_SL_SIZE;
/* Double layered BD */
if (Closure->noBdrDefectManagement)
else if(Closure->noBdrDefectManagement && get_roots(dataSectors, BD_DL_SIZE_NODM) >= 8)
lay->mediumCapacity = BD_DL_SIZE_NODM;
else
else if(get_roots(dataSectors, BD_DL_SIZE) >= 8)
lay->mediumCapacity = BD_DL_SIZE;
}
else if(get_roots(dataSectors, BDXL_TL_SIZE) >= 8) {
/* Triple layered BDXL */
if (Closure->noBdrDefectManagement)
else if(Closure->noBdrDefectManagement && get_roots(dataSectors, BDXL_TL_SIZE_NODM) >= 8)
lay->mediumCapacity = BDXL_TL_SIZE_NODM;
else
else if(get_roots(dataSectors, BDXL_TL_SIZE) >= 8)
lay->mediumCapacity = BDXL_TL_SIZE;
}
else {
/* Quadruple layered BDXL */
if (Closure->noBdrDefectManagement)
else if(Closure->noBdrDefectManagement)
lay->mediumCapacity = BDXL_QL_SIZE_NODM;
else
else
lay->mediumCapacity = BDXL_QL_SIZE;
}
}
}

View File

@@ -703,14 +703,18 @@ static void read_next_chunk(ecc_closure *ec, guint64 chunk)
(unless we are already in the last chunk).
Additional space is provided in the ec->ioData buffer. */
#ifdef HAVE_MMAP
if(Closure->encodingIOStrategy == IO_STRATEGY_READWRITE)
{
#endif
if(ec->ioChunk+ec->ioLayerSectors < lay->sectorsPerLayer)
{
RS03ReadSectors(ec->image, lay, ec->ioData[layer]+ec->chunkBytes,
layer, ec->ioChunk+ec->ioLayerSectors, 1, RS03_READ_DATA);
}
#ifdef HAVE_MMAP
}
#endif
} /* all layers from chunk finished */
}

View File

@@ -81,7 +81,7 @@ static gboolean expose_cb(GtkWidget *widget, GdkEventExpose *event, gpointer dat
Closure->invisibleDash = g_strdup_printf("<span color=\"#%02x%02x%02x\">-</span>",
bg->red>>8, bg->green>>8, bg->blue>>8);
GuiAboutTextWithLink(box, _("This is <b>v0.79.10-pl2</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
GuiAboutTextWithLink(box, _("This is <b>v0.79.10-pl3</b>. The [patchlevel series] are enhanced from the last upstream release.\n"
"We add support for BD-R TL/QL, Windows and MacOS builds, an option to produce bigger BD-R RS03,\n"
"images, support for stripping ECC from ISOs, re-enabled adaptive reading (except for RS03), and more.\n"
"\n"