Skip to content

Commit

Permalink
VERSION 20210923
Browse files Browse the repository at this point in the history
  • Loading branch information
maharmstone committed Sep 23, 2021
1 parent cdc5c11 commit 7f32753
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 35 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ else()
cmake_minimum_required(VERSION 3.14.3)
endif()

project(ntfs2btrfs VERSION 20210523)
project(ntfs2btrfs VERSION 20210923)

include(GNUInstallDirs)

Expand Down
22 changes: 18 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ On Windows, from an Administrator command prompt:

`ntfs2btrfs.exe D:\`

Bear in mind that it won't work with your boot drive or a drive with a
pagefile on it.
Bear in mind that it won't work with your boot drive or a drive containing a
pagefile that's currently in use.

On Linux, as root:

Expand All @@ -39,7 +39,7 @@ download the latest Zip file.
For Linux:
* [Arch](https://aur.archlinux.org/packages/ntfs2btrfs-git) (thanks to [nicman23](https://github.com/nicman23))
* [Fedora](https://src.fedoraproject.org/rpms/ntfs2btrfs) (thanks to [Conan-Kudo](https://github.com/Conan-Kudo))
* [Gentoo ebuild](https://raw.githubusercontent.com/maharmstone/ntfs2btrfs/master/ntfs2btrfs-20210523.ebuild)
* [Gentoo ebuild](https://raw.githubusercontent.com/maharmstone/ntfs2btrfs/master/ntfs2btrfs-20210923.ebuild)
* [Debian & Ubuntu](https://sid.ethz.ch/debian/ntfs2btrfs/) (thanks to [alexmyczko](https://github.com/alexmyczko))

For other distributions or operating systems, you will need to compile it yourself - see
Expand All @@ -48,6 +48,16 @@ below.
Changelog
---------

* 20210923
* Added (Btrfs) compression support (zlib, lzo, and zstd)
* Added support for other hash algorithms: xxhash, sha256, and blake2
* Added support for rolling back to NTFS
* Added support for NT4-style security descriptors
* Increased conversion speed for volume with many inodes
* Fixed bug when fragmented file was in superblock location
* Fixed buffer overflow when reading security descriptors
* Fixed bug where filesystems would be corrupted in a way that `btrfs check` doesn't pick up

* 20210523
* Improved handling of large compressed files

Expand Down Expand Up @@ -82,6 +92,10 @@ On Linux:
You'll also need [libfmt](https://github.com/fmtlib/fmt) installed - it should be
in your package manager.

Compression support requires zlib, lzo, and/or zstd - again, they will be in your
package manager. See also the cmake options WITH_ZLIB, WITH_LZO, and WITH_ZSTD,
if you want to disable this.

What works
----------

Expand All @@ -92,11 +106,11 @@ What works
* Security descriptors
* Alternate data streams
* DOS attributes (hidden, system, etc.)
* Rollback to original NTFS image

What doesn't work
-----------------

* Rollback to original NTFS image
* Windows' old extended attributes (you're not using these)
* Large (i.e >16KB) ADSes (you're not using these either)
* Preservation of LXSS metadata
Expand Down
30 changes: 0 additions & 30 deletions ntfs2btrfs-20210523.ebuild

This file was deleted.

42 changes: 42 additions & 0 deletions ntfs2btrfs-20210923.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit cmake

DESCRIPTION="Conversion tool from NTFS to Btrfs"
HOMEPAGE="https://github.com/maharmstone/ntfs2btrfs"

if [[ ${PV} = *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/maharmstone/ntfs2btrfs.git"
else
SRC_URI="https://github.com/maharmstone/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi

LICENSE="GPL-2"
SLOT="0"
IUSE="+zlib +lzo +zstd"

DEPEND="dev-libs/libfmt
zlib? ( sys-libs/zlib )
lzo? ( dev-libs/lzo )
zstd? ( app-arch/zstd )"
RDEPEND="${DEPEND}"
BDEPEND=""

src_prepare() {
cmake_src_prepare
}

src_configure() {
local mycmakeargs=(
-DWITH_ZLIB=$(usex zlib)
-DWITH_LZO=$(usex lzo)
-DWITH_ZSTD=$(usex zstd)
)

cmake_src_configure
}

0 comments on commit 7f32753

Please sign in to comment.