Commit Graph

91 Commits

Author SHA1 Message Date
Theodore Ts'o
fedfb27fe5 Add coverage testing using gcov
To check the coverage of e2fsprogs's regression test, do the
following:

	configure --enable-gcov
	make -j8 ; make -j8 check ; make coverage.txt

The coverage information will be the coverage.txt and *.gcov files in
the build directories.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2014-02-23 00:17:09 -05:00
Theodore Ts'o
2500ebfc89 util: fix make dependencies for subst
Now that subst is using config.h, we need to fix its dependencies so
that if config.h is missing (i.e., after a "make clean" in the tree)
that it is rebuilt by the Makefile rule.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2014-01-09 23:26:08 -05:00
Theodore Ts'o
2873927d15 subst: clean up various coverity nits
Add appropriate error checking for all error returns, and only open
each file that we need to manipulate once, to avoid potential
time-of-check/time-of-use races.  (Not that this is likely for this
program, but the result is much more clean.)

We also preserve the atime in the case where the file has not changed.

Addresses-Coverty-Id: #709537
Addresses-Coverty-Id: #1049150
Addresses-Coverty-Id: #1049151

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2014-01-04 19:11:37 -05:00
Theodore Ts'o
de3088402b gen-tarball: ignore all of the build* directories
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2013-12-28 15:57:29 -05:00
Theodore Ts'o
f404167dda Clean up sparse warnings
Mostly by adding static and removing excess extern qualifiers.  Also
convert a few remaining non-ANSI function declarations to ANSI.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2013-12-16 18:56:36 -05:00
Eric Sandeen
f5589f4c18 mke2fs: remove quota docs if not configured in
If quota isn't turned on with --enable-quota, then comment
quota documentation out of the mke2fs manpage.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2013-10-14 08:57:17 -04:00
Darrick J. Wong
832cb612f8 e2fsprogs: add (optional) sparse checking to the build
Run sparse against source files when building e2fsprogs with 'make C=1'.  If
instead C=2, it configures basic ext2 types for bitwise checking with sparse,
which can help find the (many many) spots where conversion errors are
(possibly) happening.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2013-10-11 23:12:40 -04:00
Mike Frysinger
993c455552 util: respect HAVE_MALLOC_H
Most places respect this define, but this one doesn't.

Reported-by: Dmitri Bogomolov <4glitch@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2012-08-19 17:57:17 -04:00
Theodore Ts'o
183c73b026 Teach build system to install relative symlinks if requested
Add a configure option, --enable-relative-symlinks, which will use
relative symlinks for the ELF shared library files.

Addresses-Sourceforge-Bug: #3520767

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2012-05-12 23:34:33 -04:00
Theodore Ts'o
564826e284 util: add build.profiled to list of files/directories to ignore
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2012-02-17 15:28:12 -05:00
Theodore Ts'o
d1154eb460 Shorten compile commands run by the build system
The DEFS line in MCONFIG had gotten so long that it exceeded 4k, and
this was starting to cause some tools heartburn.  It also made "make
V=1" almost useless, since trying to following the individual commands
run by make was lost in the noise of all of the defines.

So fix this by putting the configure-generated defines in lib/config.h
and the directory pathnames to lib/dirpaths.h.

In addition, clean up some vestigal defines in configure.in and in the
Makefiles to further shorten the cc command lines.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2011-09-18 17:34:37 -04:00
Eric Sandeen
d5c1d82ed8 subst: Fix free of uninit pointers
in add_subst(), if the malloc of ent->name fails, we goto fail;
which will free ent->name (which is null, so OK) but also free
ent->value (which is uninitialized).  There is no case where
we must free ent->value on an error (it is allocated last, and
if it fails it of course doesn't need to be freed) so just
remove it.

Also "retval" is only assigned once to the constant ENOMEM,
so we can just return that explicitly in the failure case.

Signed-off-by: Eric Saneeen <sandeen@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2011-09-16 18:43:05 -04:00
Theodore Ts'o
c13351f6c5 Add support for configure --enable-verbose-makecmds
Some people don't want to see the concise "kernel-style" make output.
This configure option allows build engines that want to see the full
set of commands executed by the makefile to get what they want.  Most
people will find this more distracting than useful, unless they need
to debug the Makefiles.

(It is not necessary to rerun configure to enable this verbose make
output temprarily; if a developer wants to do a quick debug of a
directory's makefile, he or she can simply edit the definition of the
$(E) and $(Q) variables in the Makefile; instructions can be found in
the MCONFIG file which is included in at the beginning of every
Makefile.)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2009-07-02 00:11:17 -04:00
Jim Meyering
45e338f533 remove useless if-before-free tests
In case you're wondering about whether this change is safe from a
portability standpoint, fear not.  This has been beaten to death
in other forums.  Here are a few threads:

  http://thread.gmane.org/gmane.comp.version-control.git/74187
  http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/12712
  http://thread.gmane.org/gmane.emacs.devel/98144
  http://thread.gmane.org/gmane.comp.lib.glibc.alpha/13092

There has been debate about whether it's a good idea from a
performance standpoint, too, but imho you'll have a hard time
finding an instance where this sort of change induces a
measurable performance penalty.  If you do, please let me know.

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2009-03-08 20:37:12 -04:00
Matthias Andree
f7c9a06c99 Unbreak build if directory renamed from e2fsprogs.
gen-tarball currently assumes that the top-level directory is called
e2fsprogs, which breaks building the tarball if it's named differently.
Since we have already computed the basename, let's use it.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-09-07 21:53:28 -04:00
Matthias Andree
a6c408b691 Print size of resulting .tar.gz file.
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2008-09-07 21:53:18 -04:00
Theodore Ts'o
efc6f628e1 Remove trailing whitespace for the entire source tree
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-08-27 23:07:54 -04:00
Theodore Ts'o
e9790718da Add build.static to util/subset.exclude as well.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-07-07 16:34:34 -04:00
Theodore Ts'o
ab06396f70 debian: Create debian release tarball to obey new WIP naming convention
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-07-07 16:12:28 -04:00
Theodore Ts'o
006f691dcf Treat build.static as an ingored file in the source directory
Don't include it in distribution tarballs, and add it to the
.gitignore file.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-07-07 09:35:36 -04:00
Theodore Ts'o
e42dead874 gen-tarball: Ignore the Meta directory when creating the release tarballs
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-12-05 20:14:43 -05:00
Theodore Ts'o
424a3e4a23 Remove Changelog files since they're not used after the git migration
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-07-08 08:50:41 -04:00
Theodore Ts'o
59fff333e9 Add .git directory to set of files to be ignored when building tarballs
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-06-30 16:47:38 -04:00
Theodore Ts'o
d7b64725ee Update Release Notes, Changelogs, version.h, etc. for 1.40 release
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-06-24 17:32:47 -04:00
Theodore Ts'o
1a9188507c Remove RFC-4122 from e2fsprogs distribution
Documentation about UUID's is available in enough places, and it's
awkward to deal with debian-legal's insanities.  So I'm caving in the
"more-lunatic-than-RMS" wing of Debian by removing RFC-4122 so we don't
have do the dfsg tarball.   Also remove the rule that only tried to
install RFC-4122 on Ubuntu, since Ubuntu seems to want to fetch
e2fsprogs exclusively from Debian.

Addresses Debian Bug: #407107

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2007-06-24 16:49:14 -04:00
Brian Behlendorf
f1d6a0797b [COVERITY] Fix (error case) file handle leak in util/subst program
Need to close old_f before returning since it had been successfully opened
before.

Coverity ID: 19: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2007-03-21 17:19:55 -04:00
Theodore Ts'o
8d54e8f2c5 Update draft-leach-uuids-guids-01.txt with rfc4122.txt
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-12 20:22:06 -05:00
Andreas Dilger
927566a3ab Fixes for building RPM's via "make rpm"
Fixed version number generation so that the same common
algorithm is used for Debian and RPM version numbering schemes.
This allows the RPM spec file to do the right thing for WIP releases.

Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-12 19:41:25 -05:00
Theodore Ts'o
98224fbc1d Avoid infinite substitution loop in subst caused by autoconf pre-v2.60
Autoconf versions before 2.60 don't have datarootdir defined, and so this
resulted in a @datarootdir@ --> @datarootdir@ infinite expansion.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-11-12 17:43:50 -05:00
Theodore Ts'o
b6b65c3de4 Add datarootdir definition for compatibility with autoconf 2.60
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-10-22 00:14:26 -04:00
Theodore Ts'o
ec3bb41be7 Update Debian packaging for 1.39+1.40-WIP-2006.10.02+dfsg-1
Remove I-D because of DFSG license Nazi's.

Make e2fsck and uuid-dev have its own /usr/share/doc directories, and make
the e2fsck-static package not depend on the e2fsprogs package.

Addresses Debian Bug: #383521

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-10-04 09:12:35 -04:00
Andreas Dilger
3f5ef9642b Create the generated files read-only to remind developers not to edit them.
Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2006-08-05 14:41:00 -04:00
Theodore Ts'o
dd947da232 Fix cross-compilation problems when CFLAGS contain target-specific options
Use BUILD_CCFLAGS and BUILD_LDFLAGS instead of CCFLAGS and LDFLAGS in
the build system when building files in the util directory which are
needed during the build process.  This avoids potential problems when
cross-compiling some of the options are not recognized as valid by the
host compiler.  (Addresses Sourceforge Bug #1261547)

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-11-09 18:37:07 -04:00
Theodore Ts'o
99200c6b0f Change gen_tarball to ignore Mercurial/quilt files (and remove BK ignores).
Since e2fsprogs is now being managed by Mercurial instead of BK,
remove BitKeeper and add ".hg", ".hgignore", ".pc", and "patches" to
the list of files/directories not included in the tar file.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2005-07-19 13:21:34 -05:00
Theodore Ts'o
1f965c8d96 Update for e2fsprogs 1.38 release. 2005-06-30 20:06:45 -04:00
Theodore Ts'o
fd4b28efd3 Update for the e2fsprogs 1.37 release. 2005-03-21 22:37:03 -05:00
Theodore Ts'o
4aad4daee4 gen_tarball.in: Don't remove the .gmo files from the generated tarball;
they are now treated as source files instead of generated files.
2005-03-02 12:57:51 -05:00
Theodore Ts'o
3eee5e9eed Update for release of e2fsprogs 1.36. 2005-02-05 18:26:03 -05:00
Theodore Ts'o
0d2993dbab Add new utility program, copy_sparse.c, which is very useful
for dealing with large sparse files (such as e2image files).
2005-01-21 01:20:44 -05:00
Theodore Ts'o
1b30d17bf6 When generating tarballs for Debian builds, remove the hyphen in version
numbers such as "1.36-rc1", since Debian can't deal with version numbers
with '-' characters in them.
2005-01-07 21:04:46 -05:00
Theodore Ts'o
47204ff983 Use Linux-kernel-style makefile output to make it easier to
see errors/warnings.
2004-11-30 10:52:27 -05:00
Theodore Ts'o
aa5c0a4562 Remove .cvsignore files; they were out of date, and causes lintian
to flame about their presence in the source tarball.
2004-05-05 09:02:36 -04:00
Matthias Andree
f932ed925c Add missing #include <time.h>, fixing a compiler warning. 2004-04-12 20:16:04 +02:00
Theodore Ts'o
dd60705665 Refine the build process to avoid re-running subst all the time on
some generated files, by having subst update the modtime on these 
files even when the generated file hasn't changed.  We do this with 
generated files that do not have any downstream dependencies.
2004-04-03 13:53:46 -05:00
Theodore Ts'o
b70b1167fe Update version number for e2fsprogs 1.35 release. 2004-02-28 10:52:35 -05:00
Matthias Andree
b9fd1f462d Do not package autom4te.cache directory into tarball. 2004-02-23 21:34:11 +01:00
Theodore Ts'o
544349270e Fix gcc -Wall nitpicks 2003-12-07 01:28:50 -05:00
Theodore Ts'o
9c7ec17809 Update for 1.34 release. 2003-07-26 01:03:34 -04:00
Theodore Ts'o
71df0dc393 Update for 1.33 release.
Fix typo's in README.subset

Change debian control file so it doesn't bomb out if the EVMS FSIM
is not there, since it is not built on the Hurd.  Resolves Debian
bug #189687.
2003-04-21 16:17:09 -04:00
Theodore Ts'o
4529665b38 Remove gen-tarball when doing "make clean" 2003-03-30 23:53:53 -05:00