Thanks Jean-Pierre,
I used the latest git clone. Here are my notes (for anyone else
wanting to do it).
-------------------------------------------
# HOWTO build ntfs-3g
# Linux Mint 20 (Ubuntu 20.04)
# Make sure we are running a bash shell
bash
#===================================================================
# Prerequisites
sudo apt update
# Build tools:
sudo apt install -y build-essential git autoconf automake libtool
# library dependencies:
sudo apt install -y libgcrypt-dev gnutls-dev uuid-dev libhd-dev
#===================================================================
# Downloads
# Latest ntfs-3g:
git clone https://git.code.sf.net/p/ntfs-3g/ntfs-3g ntfs-3g-ntfs-3g
# [OPTIONAL] Download ubuntu debian package for reference
wget
http://archive.ubuntu.com/ubuntu/pool/main/n/ntfs-3g/ntfs-3g_2017.3.23AR.3-3ubuntu1.debian.tar.xz
tar -Jxvf ntfs*debian.tar.xz
# make a list of existing files
ls -ld /bin/*ntfs* /lib/x86_64-linux-gnu/*ntfs* /sbin/*ntfs* \
/usr/bin/*ntfs* /usr/share/doc/*ntfs* /usr/share/man/man8/*ntfs* \
> old-files.txt
#===================================================================
# Configure and build
cd ntfs-3g-ntfs-3g
./autogen.sh
CONFIG=(
--prefix=
--libdir=/lib/x86_64-linux-gnu
--datarootdir=/usr/share
--includedir=/usr/include
--enable-posix-acls
--enable-xattr-mappings
--enable-crypto
--enable-quarantined
--enable-extras
)
./configure "${CONFIG[@]}"
make # ignore the -Waddress-of-packed-member warnings
sudo make install
#===================================================================
# Clean up
sudo -s # as root
function ntfs_debian_cleanup() {
local LIB MAN
## /lib
LIB=/lib/x86_64-linux-gnu
rm -f $LIB/libntfs-3g.so.883.0.0 # old lib
ln -s libntfs-3g.so.88.0.0
$LIB/libntfs-3g.so.883.0.0
chmod -x $LIB/libntfs-3g.so.88.0.0
chmod -x $LIB/libntfs-3g.la
mv $LIB/ntfs-3g /usr/lib/ # plugin dir
## /sbin
rm -f /sbin/mkfs.ntfs ; ln -s mkntfs
/sbin/mkfs.ntfs
rm -f /sbin/mount.ntfs ; ln -s mount.ntfs-3g
/sbin/mount.ntfs
## /bin
mv /bin/ntfsdecrypt /usr/bin/
## man pages
MAN=/usr/share/man/man8
rm $MAN/*ntfs*.8.gz # delete old pages
# delete non-gzipped symlinks
rm -f $MAN/mkfs.ntfs.8
rm -f $MAN/mount.ntfs-3g.8
rm -f $MAN/mount.lowntfs-3g.8
rm -f $MAN/lowntfs-3g.8
for f in $MAN/*ntfs*.8; do echo "$f"; gzip "$f"; done
# recreate gzipped symlinks
ln -s mkntfs.8.gz $MAN/mkfs.ntfs.8.gz
ln -s ntfs-3g.8.gz $MAN/mount.ntfs-3g.8.gz
ln -s ntfs-3g.8.gz $MAN/mount.lowntfs-3g.8.gz
ln -s ntfs-3g.8.gz $MAN/lowntfs-3g.8.gz
ln -s ntfs-3g.8.gz $MAN/mount.ntfs.8.gz
}
ntfs_debian_cleanup
#=================================
# Check install
# make a list of new files
ls -ld /bin/*ntfs* /lib/x86_64-linux-gnu/*ntfs* /sbin/*ntfs* \
/usr/bin/*ntfs* /usr/share/doc/*ntfs* /usr/share/man/man8/*ntfs* \
> new-files.txt
# set terminal to 200+ columns
vi -d old-files.txt new-files.txt
# Insert blank lines in old-files.txt whenever large diff blocks start.
# You should end up with only highlighted date/size diffs,
# and these extra files:
ADDITIONAL_FILES_ADDED=(
/bin/ntfsck
/bin/ntfsdump_logfile
/bin/ntfsmftalloc
$LIB/libntfs-3g.a
$LIB/libntfs-3g.la
$LIB/libntfs-3g.so # symlink
$LIB/libntfs-3g.so.88* # instead of .883
/usr/include/ntfs-3g/
)
-------------------------------------------
On Sat Oct 17 2020, at 12:16 AM, Jean-Pierre André
<[email protected]> wrote:
> Hi,
>
> Chris Roehrig wrote on 10/17/20 2:46 AM:
>> I'd like to upgrade all my Ubuntu 20.04 machines to have a stable ntfs-3g
>> that includes this recent commit:
>> https://sourceforge.net/p/ntfs-3g/ntfs-3g/ci/cd68a084fce98e78e1fc56c232e714da8263a4e0/
>
> This patch is quite recent, and IFAICT it is not yet included
> in any distributed package.
>
>> I've tried to understand the Ubuntu packaging for ntfs-3g but can't figure
>> it out. Focal (20.04) seems to ship with AR3 with some ubuntu1 patches.
>> I don't want to introduce any incompatibilites or broken dependencies.
>
> There are few packages which depend on ntfs-3g/ntfsprogs.
> I only know of wimlib and system-compression.
>
>> My ntfs-3g usage is for a daily backup of a Linux system so lots of writing
>> POSIX files and permissions.
>>
>> Would it be recommended to start with AR.3, AR.5 or the current github
>> clone? There don't seem to be any git tags for any of the AR releases.
>
> There is an AR.5 for Debian, which should be usable on Ubuntu
> and which you may try to figure out possible dependencies,
> but it does not have the patch you want.
>
> https://packages.debian.org/experimental/ntfs-3g
> https://packages.debian.org/experimental/libntfs-3g885
>
>> Any advice would be appreciated.
>
> I would use the latest state on git. However as I do not have
> the recipe to build a ".deb", I would have to use the basics :
>
> - get the current state from
> https://sourceforge.net/p/ntfs-3g/ntfs-3g/ci/edge/tree/
> by clicking on "Download snapshot",
> - unzip the downloaded file into a development directory,
> - create a configure script by running "./autogen.sh",
> - run "./configure" designating the standard Ubuntu
> directories :
>
> # minimal configure for Debian and derivatives
> # not fully satisfactory, plugins expected in /usr/lib with libntfs-3g
> # in /lib so symlinks may be required for plugins
> ./configure --bindir=/bin --sbindir=/sbin \
> --libdir=/lib/x86_64-linux-gnu --mandir=/usr/share/man/man8 \
> --docdir=/usr/share/doc/libntfs-3g88
>
> (you may want to include options --enable_extras, --enable_crypto,
> --enable_posix_acls, etc. depending on your needs)
>
> - make
> - sudo make install
>
> Jean-Pierre
>
>>
>> Thanks,
>> -- Chris
>>
>
_______________________________________________
ntfs-3g-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel