Skip to contentSkip to conversation

few patches from Debian

PATCH Dmitry Smirnov 2 participants 9 messages Apr 11, 2014 – Apr 19, 2014 4 messages not in the archive NILFS2 filesystem

lore
Share & tools
lore
#0 lore raw

Dear NILFS team,

Thanks for your hard work and for new release of nilfs-tools.

I'd like to share two patches (attached) to fix some minor problems that I've noticed:

* man.patch (with minor man pages corrections)
* fhs.patch (to install nilfs-* executables to "/usr/sbin" instead of "/sbin" due to library dependencies in "/usr").

Please review and apply (if appropriate).
Also please CC to me as I'm not subscribed.

Thank you.

Signature · 3 lines
All the best,
 Dmitry Smirnov
 GPG key : 4096R/53968D1B

Last-Update: 2014-04-11
Forwarded: yes
Author: Dmitry Smirnov <[email protected]>
Description: install nilfs-* executables to /usr/sbin:
Fixes the following problems (thanks, adequate):
bin-or-sbin-binary-requires-usr-lib-library

    /sbin/nilfs-clean => /usr/lib/x86_64-linux-gnu/libnilfscleaner.so.0
    /sbin/nilfs-clean => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs-resize => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs-resize => /usr/lib/x86_64-linux-gnu/libnilfsgc.so.0
    /sbin/nilfs-tune => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs_cleanerd => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs_cleanerd => /usr/lib/x86_64-linux-gnu/libnilfsgc.so.0
configure.ac +2 -1
@@ -165,9 +165,10 @@
 AC_SYS_LARGEFILE
 
 # Install directories
 AC_PREFIX_DEFAULT([/usr])
-AC_SUBST([sbindir], [/sbin])
+AC_SUBST([root_sbindir], [/sbin])
+AC_SUBST([sbindir], [${prefix}/sbin])
 AC_SUBST([sysconfdir], [/etc])
 AC_SUBST([localstatedir], [/var])
 
 AC_CONFIG_FILES([Makefile
sbin/mkfs/Makefile.am +1 -1
@@ -5,9 +5,9 @@
 LDADD = -luuid $(LIB_BLKID) $(top_builddir)/lib/libnilfsfeature.la \
 	$(top_builddir)/lib/libmountchk.la \
 	$(top_builddir)/lib/libcrc32.la
 
-sbin_PROGRAMS = mkfs.nilfs2
+root_sbin_PROGRAMS = mkfs.nilfs2
 
 mkfs_nilfs2_SOURCES = mkfs.c bitops.c mkfs.h
 
 EXTRA_DIST = .gitignore
sbin/mount/Makefile.am +1 -1
@@ -10,9 +10,9 @@
 AM_CPPFLAGS = -I$(top_srcdir)/include
 LDADD = $(top_builddir)/lib/librealpath.la \
 	$(top_builddir)/lib/libcleanerexec.la $(LIB_MOUNT) $(LIB_SELINUX)
 
-sbin_PROGRAMS = mount.nilfs2 umount.nilfs2
+root_sbin_PROGRAMS = mount.nilfs2 umount.nilfs2
 
 if CONFIG_LIBMOUNT
 
 COMMONSOURCES += mount_attrs.c

Last-Update: 2014-04-11
Forwarded: yes
Author: Dmitry Smirnov <[email protected]>
Description: minor man pages lintianisation
spelling-error-in-manpage
hyphen-used-as-minus-sign

man/nilfs-clean.8 +1 -1
@@ -19,9 +19,9 @@
 sent to and performed on the \fBnilfs_cleanerd\fP(8) program.  If no
 commands are specified, \fBnilfs-clean\fP just triggers a one-pass
 cleaning.
 .PP
-When \fIdevice\fP is ommitted, \fBnilfs-clean\fP selects an active
+When \fIdevice\fP is omitted, \fBnilfs-clean\fP selects an active
 NILFS2 file system in the system.
 .PP
 This command is valid only for mounted NILFS2 file systems, and
 will fail if the \fIdevice\fP has no active mounts.
man/umount.nilfs2.8 +1 -1
@@ -41,9 +41,9 @@
 Verbose mode.
 .SH THE LOOP DEVICE
 .B umount.nilfs2
 will free the loop device (if any) associated with the mount, in case
-it finds the option `loop=...' in \fI/etc/mtab\fP.  The -d option,
+it finds the option `loop=...' in \fI/etc/mtab\fP.  The \-d option,
 which also allows \fBumount\fP(8) to free the loop device without the
 `loop=...' option, is not supported.
 .SH AUTHOR
 .B umount.nilfs2
#1 lore raw

Hi Dmitry,

Quoted 7 lines · Dmitry Smirnov

Dear NILFS team,

Thanks for your hard work and for new release of nilfs-tools.

I'd like to share two patches (attached) to fix some minor problems that I've noticed:

Quoted 6 lines

* man.patch (with minor man pages corrections)
* fhs.patch (to install nilfs-* executables to "/usr/sbin" instead of "/sbin" due to library dependencies in "/usr").

Please review and apply (if appropriate).
Also please CC to me as I'm not subscribed.

fhs.patch introduced the following error:

 $ ./autogen.sh
 $ ./configure
 $ make
 $ sudo make install
 ...
 make[2]: Entering directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
 make[3]: Entering directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
  /bin/mkdir -p '/etc'
  /usr/bin/install -c -m 644 nilfs_cleanerd.conf '/etc'
  /bin/mkdir -p 'NONE/sbin'
   /bin/sh ../../libtool   --mode=install /usr/bin/install -c nilfs_cleanerd 'NONE/sbin'
 libtool: install: `NONE/sbin' must be an absolute directory name
 libtool: install: Try `libtool --help --mode=install' for more information.
 make[3]: *** [install-sbinPROGRAMS] Error 1
 make[3]: Leaving directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
 make[2]: *** [install-am] Error 2
 make[2]: Leaving directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
 make[1]: *** [install-recursive] Error 1
 make[1]: Leaving directory `/home/ryusuke/git/nilfs-utils/sbin'
 make: *** [install-recursive] Error 1

Can you fix this error ?

Regards,
Ryusuke Konishi
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20140414.063654.356443912.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org

#3 lore raw
Quoted 24 lines · On Mon, 14 Apr 2014 06:36:54 Ryusuke Konishi wrote:

fhs.patch introduced the following error:

 $ ./autogen.sh
 $ ./configure
 $ make
 $ sudo make install
 ...
 make[2]: Entering directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
 make[3]: Entering directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
  /bin/mkdir -p '/etc'
  /usr/bin/install -c -m 644 nilfs_cleanerd.conf '/etc'
  /bin/mkdir -p 'NONE/sbin'
   /bin/sh ../../libtool   --mode=install /usr/bin/install -c nilfs_cleanerd
'NONE/sbin' libtool: install: `NONE/sbin' must be an absolute directory
name
 libtool: install: Try `libtool --help --mode=install' for more information.
make[3]: *** [install-sbinPROGRAMS] Error 1
 make[3]: Leaving directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
 make[2]: *** [install-am] Error 2
 make[2]: Leaving directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
 make[1]: *** [install-recursive] Error 1
 make[1]: Leaving directory `/home/ryusuke/git/nilfs-utils/sbin'
 make: *** [install-recursive] Error 1
Quoted 1 line

Can you fix this error ?

O, my bad, sorry...
Strangely enough I did not hit this error because I was explicitly passing "--prefix=/usr" to "./configure".

Please find updated patch attached. It should be fine but there might be more elegant way to implement this with autotools.

By the way it's pretty scary to do

sudo make install

I'd rather invoke as (for example) as:

make install DESTDIR=/tmp/nilfs-tools.test

Thank you.

Signature · 2 lines
Regards,
 Dmitry Smirnov.

Last-Update: 2014-04-16
Forwarded: yes
Author: Dmitry Smirnov <[email protected]>
Description: install nilfs-* executables to /usr/sbin:
Fixes the following problems (thanks, adequate):
bin-or-sbin-binary-requires-usr-lib-library

    /sbin/nilfs-clean => /usr/lib/x86_64-linux-gnu/libnilfscleaner.so.0
    /sbin/nilfs-clean => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs-resize => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs-resize => /usr/lib/x86_64-linux-gnu/libnilfsgc.so.0
    /sbin/nilfs-tune => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs_cleanerd => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs_cleanerd => /usr/lib/x86_64-linux-gnu/libnilfsgc.so.0
configure.ac +4 -1
@@ -165,9 +165,12 @@
 AC_SYS_LARGEFILE
 
 # Install directories
 AC_PREFIX_DEFAULT([/usr])
-AC_SUBST([sbindir], [/sbin])
+test "x$prefix" = "xNONE" && prefix="/usr"
+test "x$exec_prefix" = "xNONE" && exec_prefix="${prefix}"
+AC_SUBST([root_sbindir], [/sbin])
+AC_SUBST([sbindir], [${exec_prefix}/sbin])
 AC_SUBST([sysconfdir], [/etc])
 AC_SUBST([localstatedir], [/var])
 
 AC_CONFIG_FILES([Makefile
sbin/mkfs/Makefile.am +1 -1
@@ -5,9 +5,9 @@
 LDADD = -luuid $(LIB_BLKID) $(top_builddir)/lib/libnilfsfeature.la \
 	$(top_builddir)/lib/libmountchk.la \
 	$(top_builddir)/lib/libcrc32.la
 
-sbin_PROGRAMS = mkfs.nilfs2
+root_sbin_PROGRAMS = mkfs.nilfs2
 
 mkfs_nilfs2_SOURCES = mkfs.c bitops.c mkfs.h
 
 EXTRA_DIST = .gitignore
sbin/mount/Makefile.am +1 -1
@@ -10,9 +10,9 @@
 AM_CPPFLAGS = -I$(top_srcdir)/include
 LDADD = $(top_builddir)/lib/librealpath.la \
 	$(top_builddir)/lib/libcleanerexec.la $(LIB_MOUNT) $(LIB_SELINUX)
 
-sbin_PROGRAMS = mount.nilfs2 umount.nilfs2
+root_sbin_PROGRAMS = mount.nilfs2 umount.nilfs2
 
 if CONFIG_LIBMOUNT
 
 COMMONSOURCES += mount_attrs.c
#4 lore raw

Hi,

Quoted 25 lines · Dmitry Smirnov
Quoted 24 lines · On Mon, 14 Apr 2014 06:36:54 Ryusuke Konishi wrote:

fhs.patch introduced the following error:

 $ ./autogen.sh
 $ ./configure
 $ make
 $ sudo make install
 ...
 make[2]: Entering directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
 make[3]: Entering directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
  /bin/mkdir -p '/etc'
  /usr/bin/install -c -m 644 nilfs_cleanerd.conf '/etc'
  /bin/mkdir -p 'NONE/sbin'
   /bin/sh ../../libtool   --mode=install /usr/bin/install -c nilfs_cleanerd
'NONE/sbin' libtool: install: `NONE/sbin' must be an absolute directory
name
 libtool: install: Try `libtool --help --mode=install' for more information.
make[3]: *** [install-sbinPROGRAMS] Error 1
 make[3]: Leaving directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
 make[2]: *** [install-am] Error 2
 make[2]: Leaving directory `/home/ryusuke/git/nilfs-utils/sbin/cleanerd'
 make[1]: *** [install-recursive] Error 1
 make[1]: Leaving directory `/home/ryusuke/git/nilfs-utils/sbin'
 make: *** [install-recursive] Error 1
Quoted 8 lines
Quoted 1 line

Can you fix this error ?

O, my bad, sorry...
Strangely enough I did not hit this error because I was explicitly passing "--prefix=/usr" to "./configure".

Please find updated patch attached. It should be fine but there might be more elegant way to implement this with autotools.

This patch breaks mount program; mount.nilfs2 fails to find cleanerd since it was moved to /usr/sbin:

  # mount -t nilfs2 /dev/sdb1 /test
  mount.nilfs2: Error: nilfs_cleanerd not found
  nilfs_cleanerd aborted

I think nilfs_cleanerd should be installed to /sbin.

Quoted 13 lines

By the way it's pretty scary to do

sudo make install

I'd rather invoke as (for example) as:

make install DESTDIR=/tmp/nilfs-tools.test

Thank you.

Signature · 2 lines
Regards,
 Dmitry Smirnov.

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20140419.195816.57462893.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org

#6 lore raw
Quoted 6 lines · On Sat, 19 Apr 2014 19:58:16 Ryusuke Konishi wrote:

This patch breaks mount program; mount.nilfs2 fails to find cleanerd since it was moved to /usr/sbin:

  # mount -t nilfs2 /dev/sdb1 /test
  mount.nilfs2: Error: nilfs_cleanerd not found
  nilfs_cleanerd aborted

Damn, sorry for mess...

Quoted 1 line

I think nilfs_cleanerd should be installed to /sbin.

You're right but in this case it should be statically linked with dependent libraries...

Signature · 2 lines
Cheers,
 Dmitry Smirnov.
#7 lore raw
Quoted 8 lines · Dmitry Smirnov
Quoted 6 lines · On Sat, 19 Apr 2014 19:58:16 Ryusuke Konishi wrote:

This patch breaks mount program; mount.nilfs2 fails to find cleanerd since it was moved to /usr/sbin:

  # mount -t nilfs2 /dev/sdb1 /test
  mount.nilfs2: Error: nilfs_cleanerd not found
  nilfs_cleanerd aborted
Quoted 7 lines

Damn, sorry for mess...

Quoted 1 line

I think nilfs_cleanerd should be installed to /sbin.

You're right but in this case it should be statically linked with dependent libraries...

Yes, I agree. nilfs_cleanerd should statically link libnilfs and libnilfsgc. I am searching the way to do that.

Regards,
Ryusuke Konishi
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20140419.202620.220041591.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org

#9 lore raw
Quoted 2 lines · On Sat, 19 Apr 2014 20:26:20 Ryusuke Konishi wrote:

Yes, I agree. nilfs_cleanerd should statically link libnilfs and libnilfsgc. I am searching the way to do that.

So far I was able to do it with corrected patch (attached). I hope this time I got it right... Apologies for inconvenience...

Signature · 2 lines
Best wishes,
 Dmitry Smirnov.

Last-Update: 2014-04-19
Forwarded: yes
Author: Dmitry Smirnov <[email protected]>
Description: install nilfs-* executables to /usr/sbin:
Fixes the following problems (thanks, adequate):
bin-or-sbin-binary-requires-usr-lib-library

    /sbin/nilfs-clean => /usr/lib/x86_64-linux-gnu/libnilfscleaner.so.0
    /sbin/nilfs-clean => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs-resize => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs-resize => /usr/lib/x86_64-linux-gnu/libnilfsgc.so.0
    /sbin/nilfs-tune => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs_cleanerd => /usr/lib/x86_64-linux-gnu/libnilfs.so.0
    /sbin/nilfs_cleanerd => /usr/lib/x86_64-linux-gnu/libnilfsgc.so.0
configure.ac +4 -1
@@ -165,9 +165,12 @@
 AC_SYS_LARGEFILE
 
 # Install directories
 AC_PREFIX_DEFAULT([/usr])
-AC_SUBST([sbindir], [/sbin])
+test "x$prefix" = "xNONE" && prefix="/usr"
+test "x$exec_prefix" = "xNONE" && exec_prefix="${prefix}"
+AC_SUBST([root_sbindir], [/sbin])
+AC_SUBST([sbindir], [${exec_prefix}/sbin])
 AC_SUBST([sysconfdir], [/etc])
 AC_SUBST([localstatedir], [/var])
 
 AC_CONFIG_FILES([Makefile
sbin/mkfs/Makefile.am +1 -1
@@ -5,9 +5,9 @@
 LDADD = -luuid $(LIB_BLKID) $(top_builddir)/lib/libnilfsfeature.la \
 	$(top_builddir)/lib/libmountchk.la \
 	$(top_builddir)/lib/libcrc32.la
 
-sbin_PROGRAMS = mkfs.nilfs2
+root_sbin_PROGRAMS = mkfs.nilfs2
 
 mkfs_nilfs2_SOURCES = mkfs.c bitops.c mkfs.h
 
 EXTRA_DIST = .gitignore
sbin/mount/Makefile.am +1 -1
@@ -10,9 +10,9 @@
 AM_CPPFLAGS = -I$(top_srcdir)/include
 LDADD = $(top_builddir)/lib/librealpath.la \
 	$(top_builddir)/lib/libcleanerexec.la $(LIB_MOUNT) $(LIB_SELINUX)
 
-sbin_PROGRAMS = mount.nilfs2 umount.nilfs2
+root_sbin_PROGRAMS = mount.nilfs2 umount.nilfs2
 
 if CONFIG_LIBMOUNT
 
 COMMONSOURCES += mount_attrs.c
sbin/cleanerd/Makefile.am +2 -1
@@ -1,7 +1,8 @@
 ## Makefile.am
 
-sbin_PROGRAMS = nilfs_cleanerd
+root_sbin_PROGRAMS = nilfs_cleanerd
+AM_LDFLAGS = -static
 LDADD = $(top_builddir)/lib/libnilfs.la $(top_builddir)/lib/libnilfsgc.la \
 	$(LIB_POSIX_MQ) -luuid
 
 nilfs_cleanerd_SOURCES = cleanerd.c cldconfig.c \
#10 lore raw
Quoted 6 lines · Dmitry Smirnov
Quoted 2 lines · On Sat, 19 Apr 2014 20:26:20 Ryusuke Konishi wrote:

Yes, I agree. nilfs_cleanerd should statically link libnilfs and libnilfsgc. I am searching the way to do that.

So far I was able to do it with corrected patch (attached). I hope this time I got it right... Apologies for inconvenience...

Don't mind. I will fix the issue a bit differently (as follows) and then apply your revised patch.

Regards,
Ryusuke Konishi

sbin/cleanerd/Makefile.am +1 -0
index 0f68670..0af4104 100644
@@ -9,6 +9,7 @@ nilfs_cleanerd_SOURCES = cleanerd.c cldconfig.c \
 nilfs_cleanerd_CFLAGS = -Wall
 nilfs_cleanerd_CPPFLAGS = -I$(top_srcdir)/include \
 	-DSYSCONFDIR=\"$(sysconfdir)\"
+nilfs_cleanerd_LDFLAGS = -static
 
 dist_sysconf_DATA = nilfs_cleanerd.conf
 

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20140419.210014.85398266.konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org

#12 lore raw
Quoted 2 lines · On Sat, 19 Apr 2014 21:00:14 Ryusuke Konishi wrote:

I will fix the issue a bit differently (as follows) and then apply your revised patch.

O, that's even better. I need to work on my autotools skills. :)

Thank you.

Signature · 2 lines
Best wishes,
 Dmitry Smirnov.