Re: [PATCH] libquota: Do not build libquota when disabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue 10-01-12 13:50:06, Aditya Kali wrote:
> Libquota is supposed to be internal library of e2fsprogs. Initially I
> added the code thinking that it would be an independent library, but
> it depends too much on libext2fs and should be part of libext2fs
> itself. The quota header files should not be installed.
  Thanks for clarification! Do you plan to work on fixing this or should I
have a look at it?

> Also, e2fsck should compile even without quota support. This needs to be
> fixed.
  Hum, but why would anyone want to compile e2fsprogs without quota
support? We also don't provide a way to switch off for example indexed
directories support. So why would be quota different?

								Honza

> On Tue, Jan 10, 2012 at 11:38 AM, Jan Kara <jack@xxxxxxx> wrote:
> > On Tue 10-01-12 17:46:36, Jan Kara wrote:
> >> Due to missing QUOTA_CMT definition in configure.in, libquota was built
> >> (and e.g. include file was installed) even when quota support was disabled.
> >> Fix it. Also fix help text of the configure option when we are at it.
> >  Hum, but after this e2fsck does not compile because of missing
> > libquota.a. So should it be possible to disable quota support (and thus
> > e2fsck should be fixed) or not (and then config option should be removed)?
> >
> > Also I've also noticed that libquota is generated as a static library even
> > if --enable-elf-shlibs is specified. Bug? Or is libquota supposed to be
> > internal library of e2fsprogs and never used outside of e2fsprogs? But then
> > why is it and its header files installed?
> >
> > BTW, since the library is tied to ext4 anyway, won't it be more logical for
> > external developpers to make it part of libext2fs?
> >
> >                                                                Honza
> >>
> >> Signed-off-by: Jan Kara <jack@xxxxxxx>
> >> ---
> >>  configure    |   11 ++++++-----
> >>  configure.in |    4 +++-
> >>  2 files changed, 9 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/configure b/configure
> >> index 9f5eeb5..965f7cf 100755
> >> --- a/configure
> >> +++ b/configure
> >> @@ -1462,7 +1462,7 @@ Optional Features:
> >>    --disable-testio-debug  disable the use of the test I/O manager for debugging
> >>    --disable-libuuid    do not build private uuid library
> >>    --disable-libblkid   do not build private blkid library
> >> -  --enable-libquota    enable quota support
> >> +  --enable-quota       enable quota support
> >>    --disable-debugfs            disable support of debugfs program
> >>    --disable-imager             disable support of e2image program
> >>    --disable-resizer            disable support of e2resize program
> >> @@ -5209,11 +5209,13 @@ fi
> >>  if test "${enable_quota+set}" = set; then :
> >>    enableval=$enable_quota; if test "$enableval" = "no"
> >>  then
> >> +     QUOTA_CMT="#"
> >>       { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling quota support" >&5
> >>  $as_echo "Disabling quota support" >&6; }
> >>  else
> >>       $as_echo "#define CONFIG_QUOTA 1" >>confdefs.h
> >>
> >> +     QUOTA_CMT=""
> >>       { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling quota support" >&5
> >>  $as_echo "Enabling quota support" >&6; }
> >>  fi
> >> @@ -7127,7 +7129,6 @@ int
> >>  main ()
> >>  {
> >>    char *data, *data2, *data3;
> >> -  const char *cdata2;
> >>    int i, pagesize;
> >>    int fd, fd2;
> >>
> >> @@ -7152,10 +7153,10 @@ main ()
> >>    fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
> >>    if (fd2 < 0)
> >>      return 4;
> >> -  cdata2 = "";
> >> -  if (write (fd2, cdata2, 1) != 1)
> >> +  data2 = "";
> >> +  if (write (fd2, data2, 1) != 1)
> >>      return 5;
> >> -  data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
> >> +  data2 = mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
> >>    if (data2 == MAP_FAILED)
> >>      return 6;
> >>    for (i = 0; i < pagesize; ++i)
> >> diff --git a/configure.in b/configure.in
> >> index c304a8d..94e7c21 100644
> >> --- a/configure.in
> >> +++ b/configure.in
> >> @@ -531,12 +531,14 @@ dnl
> >>  PKG_PROG_PKG_CONFIG
> >>  AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
> >>  AC_ARG_ENABLE([quota],
> >> -[  --enable-libquota   enable quota support],
> >> +[  --enable-quota      enable quota support],
> >>  if test "$enableval" = "no"
> >>  then
> >> +     QUOTA_CMT="#"
> >>       AC_MSG_RESULT([Disabling quota support])
> >>  else
> >>       AC_DEFINE(CONFIG_QUOTA, 1)
> >> +     QUOTA_CMT=""
> >>       AC_MSG_RESULT([Enabling quota support])
> >>  fi
> >>  ,
> >> --
> >> 1.7.1
> >>
> > --
> > Jan Kara <jack@xxxxxxx>
> > SUSE Labs, CR
-- 
Jan Kara <jack@xxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux