Commit Graph

220 Commits

Author SHA1 Message Date
he
8309b1bdfc Initialize a local variable to get rid of a "may be used uninitialized"
warning (turned into error by -Werror).
2009-01-10 11:04:36 +00:00
bjh21
7dd482c240 Fix another bug in SUSP "CE" handling: when the SUSP records fit into
the System Use field with fewer then 28 bytes to spare, we were
remembering the wrong length for the System Use field and hence
emitting a corrupt directory entry.  This could be triggered by trying
to build a filesystem containing a regular file with a 120-byte name.
Now we're a little more careful.
2009-01-09 00:24:07 +00:00
bjh21
61773f97b8 When splitting a System Use Area between a System Use field and a
Continuation Area, be sure to insert the "CE" record at the correct
point in the chain of SUSP records.  Without this, makefs emits
an invalid image if any file needs a Continuation Area.  The bug
seems to have been introduced with the conversion to TAILQs.
2009-01-08 23:31:33 +00:00
bjh21
a9eb597f96 Typo: debuging -> debugging. 2009-01-08 22:28:45 +00:00
bjh21
72846fc11e If the user specifies a cd9660-specific option that needs an integer value
without supplying a value, complain at them instead of segfaulting.
Or, to put it another way, check that the value is non-NULL before calling
set_option().
2009-01-08 22:26:19 +00:00
lukem
f9dee3872f cd9660 support has been present for a while 2009-01-03 08:25:35 +00:00
christos
33cb72e1c9 fix for 64 bit time_t and dev_t. 2008-12-28 21:51:46 +00:00
ad
577910fbd3 Make the allow-multidot option useful. 2008-11-21 10:02:12 +00:00
ahoka
40ccd11cb5 Import changes from the MirBSD Project:
Initialise memory before writing to only part of it,
making sure that the string is NUL-terminated

Allocate the maximum allowed length (including the
terminating NUL byte) for the temporary name string, make sure
the final output is NUL terminated, and copy back the NUL when
overwriting the previously created name (since maxlen is always
at least 1 less than ISO_FILENAME_MAXLENGTH_WITH_PADDING, this
is no problem)

Patches from Thorsten Glaser through freenode.net.
2008-10-30 18:43:13 +00:00
gmcgarry
3c9a95916d Wrap compiler-specific flags with HAVE_GCC and HAVE_PCC as necessary. Add a few flags for PCC. 2008-08-29 00:02:21 +00:00
reinoud
01c0b5bf89 Fix typo in cd9660 functionname cd9660_setup_boot_volume_descritpor ->
cd9660_setup_boot_volume_descriptor.

Interestingly the same typo was used in 3 files!
2008-07-27 10:29:32 +00:00
skrll
989d6357d3 Add an option to load a generic boot image into the first 32K of the
cd9660 image.
2008-05-10 19:00:07 +00:00
dyoung
537fc55662 Add a todo item: read files from multiple directories. 2007-12-10 23:54:35 +00:00
wiz
f2714d32d2 Fix Xref. 2007-12-02 19:19:16 +00:00
lukem
8e0dbfdf62 Use IEC 60027-2 prefixes for 2^n based prefixes. 2007-04-13 04:12:55 +00:00
christos
535dee52f6 Fix deep directory move rock-ridge extension. Code was there, but it had
bit-rotted.
2007-04-07 17:14:58 +00:00
christos
a516872c5c PR/36006: Takahiro Kambe: makefs(8) create cd9660 file system with wrong time
stamp because localtime(3) and gmtime(3) share the same buffer. Fixed by using
the _r functions.
2007-03-14 14:11:17 +00:00
uebayasi
a045df12cc Use periods in tables consistently. 2007-02-01 06:50:15 +00:00
uebayasi
a77b0db767 New sentence new line. 2007-02-01 06:46:27 +00:00
dogcow
8e180a72c2 emasculate debugging mode for the hosttool version of makefs, to avoid various
hairy endian-decoding macros/inlined functions/etc.
2007-01-30 01:46:33 +00:00
dogcow
f36028509f revert this change, too. 2007-01-28 10:40:19 +00:00
dogcow
f7c54e5b52 Due to recent changes in the cd9660 code, crosscompilation of tools/makefs
now fails due to the use of [be]e{16,32}dec. Add a compat header, and force
the inclusion of <sys/endian.h>.
2007-01-28 09:19:33 +00:00
hubertf
889da1779b * Don't include headers twice
* Remove a few trailing whitespaces
 * Rearrange and join to one #if for some headers

Patch contributed by Slava Semushin <slava.semushin@gmail.com>
in private mail.
2007-01-16 17:32:04 +00:00
christos
9450025adc from Anon Ymous: compile with -Wextra 2006-12-18 21:03:29 +00:00
bouyer
3697550e70 Don't depend on lubutil if we're building host tools. Fix tools build on
non-NetBSD hosts.
2006-12-16 12:59:16 +00:00
he
0a97c3f688 Complete the move of string_to_flags() and flags_to_string() from the
bin/ls sources to libutil:
 o Bump libutil minor version number
 o Fix uses to include <util.h> to pick up the function definitions
 o Fix most uses of flags_to_string() to release the now-malloc()ed result
2006-12-14 20:09:35 +00:00
christos
f6a7372b60 use c99 initializers 2006-10-22 21:09:47 +00:00
dbj
d0c4ff452b implement -x by pruning fsnodes tree before building filesystem rather
than by skipping nodes while building filesystem
2006-10-10 01:55:45 +00:00
dbj
0e392af953 add implementation of free_fsnodes() which unlinks a node
from the hierarchy and frees it and any of its children
use it to free memory before a normal exit, which helps diagnostics
2006-10-10 01:46:49 +00:00
dbj
2d7375cec3 free specfile structure once it has been applied 2006-10-10 01:41:14 +00:00
dbj
1ca1523d99 use new implementation of link_check which i
implemented for du.c revision 1.25 :

Use open address hashtable with multiplicative double hash probing
and exponential hashtable growth for tracking previously seen inodes.
This replaces the O(n^2) behavior of linkchk() with an implementation
that should be O(n*logn)
2006-10-10 01:39:10 +00:00
dbj
daab9400b9 use strtoll instead of strsuftoll to parse -d so it can be specified
in hex with a 0x prefix
2006-10-10 01:32:42 +00:00
dbj
e10e76d4c6 make -t cd9660 obey -x option similarly to ffs 2006-10-08 16:25:18 +00:00
hubertf
924dbbdb7d Fix fix for Coverity CID 2751:
Move an error check to the right place, and instead of blindly insisting on
an argument for all of "no-emul-boot", "no-boot", "hard-disk-boot" and
"boot-load-segment", only require it for the last one, which is the only
one that requires/uses it.

OK'd by Christos
2006-06-01 21:06:37 +00:00
christos
323f38bde6 Coverity CID 2751: Avoid NULL deref. 2006-05-25 00:25:00 +00:00
mrg
16efbf8575 don't do the -Wno-pointer-sign dance for host programs. 2006-05-12 01:18:25 +00:00
mrg
aadd7d4847 sprinkle some -fno-strict-aliasing and -Wno-pointer-sign with GCC4. 2006-05-11 23:16:28 +00:00
christos
2e3cc3a126 Coverity CID 174: Add extra NULL test to appease coverity. 2006-04-22 17:40:49 +00:00
christos
d9b764e5f1 Coverity CID 548: Fix resource leak. 2006-04-22 17:38:20 +00:00
christos
be722641b9 Coverity CID 550: Resource leak. 2006-04-22 17:33:55 +00:00
riz
a27001b755 Coverity CID 2757: Don't leak memory in error conditions. 2006-03-23 01:27:08 +00:00
rtr
b06fd00a81 free buf on error path
coverity 190 / run 5
2006-03-18 12:35:41 +00:00
rpaulo
0f0ba22069 bump date 2006-03-12 11:18:31 +00:00
jschauma
25b6d6ab50 fix typo: explcitly -> explicitly 2006-03-11 22:56:57 +00:00
wiz
4679714200 Sort SEE ALSO. 2006-02-04 18:48:01 +00:00
dyoung
9d2dd62a57 Stop duplicating the ISO9660 sources in sys/fs/cd9660/ for makefs(8). 2006-02-01 22:19:34 +00:00
martin
91378840b8 Add reference to installboot(8), as suggested by Patrick Welche. 2006-01-26 15:05:27 +00:00
perry
ae6ae2c362 Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:56:41 +00:00
dyoung
5138e74947 Fix a bug in cd9660_sort_nodes, which tried to insert `next' before
`node' on a tail-queue, when `node' wasn't on the tail-queue.
Sometimes this led to a segfault.  Insert before `cn', since that
is the intention.  Closes PR 32194. Thanks, Jeff Rizzo, for reporting
this bug.
2005-11-30 00:26:11 +00:00
dyoung
fec0b664fc Oops, condition another printf on verbose_level > 0. 2005-10-31 23:21:25 +00:00
dyoung
96801f79bb Condition several cd9660 printfs on verbose_level > 0. Silences
makefs -t cd9660.
2005-10-31 23:19:54 +00:00
dyoung
933a7c2901 Change cd9660's default verbosity level to 0, quieting it down
considerably.
2005-10-31 23:19:06 +00:00
wiz
3a6af42b59 Bump date for previous. 2005-10-31 11:34:55 +00:00
dyoung
2fa0e02b0b Remove the cd9660_inode hashtable for hard-links support, and re-use
the fsinode for the same purpose, per Luke Mewburn's suggestion on
source-changes@.
2005-10-31 08:29:19 +00:00
dyoung
1da546647c Add hard-link support: keep a hashtable that maps inodes for
regular files on the source filesystem to the offset of the first
data block on the target filesystem.  Don't allocate blocks for a
file a second time (i.e., if it is already present in the hashtable).
Avoid writing the blocks of a file twice (use the FS_WRITTEN flag
in fsinode->flags for this purpose).
2005-10-30 09:27:49 +00:00
dyoung
f334b70aa1 Normalize {err,warn}{,x} uses. 2005-10-30 07:40:45 +00:00
dyoung
4a3fce43c0 Now that I understand what order boot-images and boot-entries are
intended to be kept on the boot-images and -entries lists, keep
them in that order: images grouped and entries grouped by system,
with later images nearer the front of the list.

*Really* apply boot options to the last boot-image specified.
2005-10-30 07:33:57 +00:00
dyoung
3c2cee9d4a Bug fix: record the actual number number of 512-byte "virtual"
sectors in the Sector Count field of the Initial/Default Entry in
the "El Torito" Boot Catalog, instead of blithely writing 1 (!!)
into the Sector Count field.  Ditto the Section Entries.

Remove last remnants of cd9660's unsupported boot-load-size option.

Really use cd9660's boot-load-segment argument.

Change the boot images list from a LIST to a TAILQ.

Re-implement CD9660_BLOCKS() with howmany().

Introduce ELTORITO_DPRINTF and some debug messages.

Zero memory malloc'd in the El Torito code.

Revise some debugging outputs.

Insert a new boot-image on the boot-images list after the last
boot-image for the same architecture.  It makes a (trivial) functional
difference.

Miscellaneous cosmetic changes.  Remove useless variable-assignment.
2005-10-30 06:45:46 +00:00
dyoung
b894baa422 boot-load-size, the number of load sectors for the boot image, is
not yet, and will not be, supported.
2005-10-30 03:52:03 +00:00
dyoung
397d1928f2 Cosmetic: add temporary variables for lengthy, repeated clauses
like 'default_entry->entry_data.IE'.  KNF.
2005-10-30 03:50:54 +00:00
dyoung
f112f0b6d9 Remove invisible whitespace at ends of lines that disrupted my
speedy cursor-movement habits in vi.
2005-10-30 03:10:28 +00:00
dyoung
d4d99b79c1 The system type mac68k is also allowed.
XXX Is that correct?
2005-10-28 21:55:18 +00:00
dyoung
c286f15e25 Correct strcmp(3) usage (expect equal -> 0). 2005-10-28 21:54:21 +00:00
dyoung
21326b0d23 Synchronize documentation with utility. 2005-10-28 21:52:36 +00:00
dyoung
33c7871577 Use LIST_ macros instead of accessing list structure members lh_first
and le_next directly.
2005-10-28 21:51:35 +00:00
dyoung
689c61f61d Overhaul makefs -t cd9660.
Functional: Do not add a missing period or a version number to
            directories, since that doesn't fit the standard (thanks
            Daniel Watt).

            Add RRIP PX records (POSIX meta-information) to '.'
            and '..' entries.  Quiets kernel complaint, when we
            mount a cd9660 filesystem, that there is a missing PX
            entry.

Cosmetic: Reduce height of staircases.  Remove an unused member
          from struct _cd9660node.  Extract a subroutine.  KNF.

          Use a TAILQ macros for lists of both SUSP/RRIP attributes
          and directory entries.

XXX
XXX The new RRIP PX entries are not quite right.
XXX
2005-10-25 02:22:04 +00:00
thorpej
327a57156c Use the real field name (d_fileno instead of d_ino). 2005-10-23 16:12:02 +00:00
chs
6c50e54c82 avoid the need for a bogus initializer. 2005-10-08 03:21:17 +00:00
dyoung
3b0eb50995 Cosmetic: change to a standard idiom, *(x++) --> *x++. Flag some
places needing bounds-checking with XXX.  Fix indendation.
2005-09-11 22:03:48 +00:00
dyoung
62e9fd6510 By default, do not omit the trailing period from ISO9660 filenames
unless given the option '-o omit-trailing-period'.  Also, fix a
logic error so that makefs obeys option '-o omit-trailing-period'
when it is given.
2005-09-11 22:01:44 +00:00
wiz
3595891ed9 Remove unnecessary keeps (Bk/Ek). Sort options. Various minor fixes.
Bump date.
2005-09-09 22:23:49 +00:00
kent
ed574610ee fix compilatio problems on LP64 2005-08-20 15:00:27 +00:00
christos
c4ee9f6d2e 64 bit inode changes 2005-08-19 02:07:18 +00:00
dyoung
54d7d8be9a Remove extraneous #PKG_DEVELOPER=1 line that snuck in with the last
commit.  (Thanks Masao Uebayashi.)
2005-08-19 01:26:59 +00:00
dyoung
2f96ceba5c Change from malloc/strcpy idiom to strdup.
Revamp err, errx, warn, warnx usage.

Misc. cosmetic tweaks.

Make -o bootimage=sysname;filename expect NetBSD architecture names
(x86 -> i386; mac -> {macppc, mac68k}; ppc -> powerpc) for sysname.
2005-08-19 01:24:21 +00:00
dyoung
c3f075faf3 Cosmetic: alphabetize SRCS. Start a new line on each change of
leading letter.
2005-08-19 01:09:54 +00:00
he
5d94f47ecb Move local variable declaration to start of block (also start of function).
Fixes build problem for vax.
2005-08-15 06:41:06 +00:00
fvdl
92be7f4643 Fix some wrapping lines. 2005-08-13 17:50:59 +00:00
fvdl
65b1705e76 Add nbtool_config.h include, fixing the tool compile on some platforms. 2005-08-13 17:46:07 +00:00
fvdl
36825d8853 Comment out some currently unimplemented options, and add a few descriptions
for others (from Daniel Watt).
2005-08-13 02:03:48 +00:00
fvdl
3550dc9861 cd9660 support. Written by Daniel Watt, Walter Deignan, Ryan Gabrys,
Alan Perez-Rathke and Ram Vedam.

Prototyping, KNF, WARNS=3 by me.

Note that this is marked experimental for now. It works well enough to
make NetBSD/i386 bootable images, but does need more work.
2005-08-13 01:53:01 +00:00
fvdl
046051d487 Fix a sign warning for WARNS=3. 2005-08-13 01:49:35 +00:00
lukem
1527bc4c2a Fix a typo in the description of -f. Noted by Jukka Salmi in PR 30713.
Add some missing punctuation.
2005-07-11 00:25:08 +00:00
fvdl
b14624e508 Pull in DIP_ADD from sys/ufs/ufs/inode.h and use it, to prevent bad lvalue
assignment warnings/errors from gcc4.
2005-06-23 00:53:16 +00:00
he
e670882cec Initialize a local variable in ufs_getlbns() to appease -Wuninitialized.
Marked with XXXGCC for sparc64 (found while compiling for it).

Reviewed by lukem.
2005-06-07 13:54:55 +00:00
lukem
c8e07a4ef7 appease gcc -Wuninitialized 2005-06-02 05:58:24 +00:00
jmc
2406596e11 Refactor the filesystem specific portions out of makefs.c/makefs.h completely.
Instead of extending fsinfo_t it now holds a void * to file system specific
data. This is then setup/cleaned up by the additional of 2 additional
callbacks. Makes adding new filesystems simpler as almost no code has
to be updated in the generic makefs code now.
2004-12-20 20:51:42 +00:00
jmc
7a47cf149b Check for fstatvfs and provide/use it only if the host system has it.
Fixes PR#27221
2004-10-12 03:28:30 +00:00
dbj
2446aaf129 include <sys/statvfs.h> if HAVE_STRUCT_STATVFS_F_IOSIZE
addresses part of PR toolchain/26415
2004-07-24 16:30:50 +00:00
lukem
be48f412fd Define FFS_MAXBSIZE to 65536 and use instead of MAXBSIZE.
Deprecate unused MAXINOPB.
Should fix PR [toolchain/25603].
2004-06-24 22:30:13 +00:00
jmc
b2f782612f Completely rework how tools/compat is done. Purge all uses/references to
_NETBSD_SOURCE as this makes cross building from older/newer versions of
NetBSD harder, not easier (and also makes the resulting tools 'different')

Wrap all required code with the inclusion of nbtool_config.h, attempt to
only use POSIX code in all places (or when reasonable test w. configure and
provide definitions: ala u_int, etc).

Reviewed by lukem. Tested on FreeBSD 4.9, Redhat Linux ES3, NetBSD 1.6.2 x86
NetBSD current (x86 and amd64) and Solaris 9.

Fixes PR's: PR#17762 PR#25944
2004-06-20 22:20:14 +00:00
lukem
5e4b83e60b Use uint64_t instead of uint32_t to store a host inode when checking
for duplicate inodes, as Cygwin's stat(2) has a 64 bit st_ino.
Fix from Ian Lance Taylor in private email.
2004-05-31 22:24:51 +00:00
lukem
bb07f837f4 minor typo 2004-05-31 22:21:12 +00:00
dsl
1074bd3a3f Allow for ROOTINO when deciding whether their are enough inodes in the
created filesystem.  Otherwise this fails when asked for 63 inodes for
i386 ramdisk-big.
This code really needs to use the current version of newfs/mkfs.c where
the actual inode count can be passed in (instead of the density).
Fixes a build problem when I add /mountroot to mtree.common for sysinst.
2004-04-26 21:06:55 +00:00
christos
6bd1d6d4db Replace the statfs() family of system calls with statvfs().
Retain binary compatibility.
2004-04-21 01:05:31 +00:00
lukem
3a06421e87 After populating the file system, update superblock->fs_old_cstotal from
superblock->fs_cstotal.  Fixes inconsistencies found by FreeBSD's fsck.
Problem noted by Luigi Rizzo <luigi@FreeBSD.org> via Colin Percival.
2004-04-02 11:27:56 +00:00
wiz
e3fc4b66c3 Spell the plural of suffix "suffixes", not "suffices".
Inspired by PR 24400 by Todd Vierling.
2004-02-13 17:56:17 +00:00
jmmv
b635f565e7 Homogenize usage messages: make the 'usage' word all lowercase, as this seems
to be the most common practice in our tree.
2004-01-05 23:23:32 +00:00
lukem
171d653219 Overhaul how `build.sh tools' are used:
*	Rename "config.h" to "nbtool_config.h" and
	HAVE_CONFIG_H to HAVE_NBTOOL_CONFIG_H.
	This makes in more obvious in the source when we're using
	tools/compat/config.h versus "standard autoconf" config.h

    *	Consistently move the inclusion of nbtool_config.h to before
    	<sys/cdefs.h> so that the former can provide __RCSID() (et al),
    	and there's no need to protect those macros any more.

These changes should make it easier to "tool-ify" a program by adding:
	#if HAVE_NBTOOL_CONFIG_H
	#include "nbtool_config.h"
	#endif
to the top of the source files (for the general case).
2003-10-27 00:12:41 +00:00
mycroft
fc2aa2b3be Mention that we should be adding space for bitmaps. 2003-10-26 10:32:35 +00:00