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é 
<jean-pierre.an...@wanadoo.fr> 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
ntfs-3g-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel

Reply via email to