freebsd-nq/usr.sbin/pkg_install/create/create.h
Giorgos Keramidas bea08b23d3 Add a -n option to pkg_create(1), to inhibit duplicate work.
When run without this option, multiple runs of `pkg_create -Rb' will
recreate common packages multiple times.  This can take a lot of time
for large packages.  With the -n option `pkg_create -b' checks with
stat(2) and skips packages that already exist.

Note that this may *not* be safe of the existing output file is not
really a package, or if it has been corrupted, modified or otherwise
tinkered with between subsequent pkg_create runs.  For this and POLA
reasons, the default behavior is to *rebuild* the packages, and the -n
option can be used when we know it is `safe' to run in no-regenerate
mode.

Inspired by:	A post to freebsd-questions
	 	by Matthias Apitz < matthias.apitz at oclc.org >
Reviewed by:	marcus, flz
Approved by:	marcus
MFC after:	2 weeks
2008-05-27 05:10:54 +00:00

59 lines
1.6 KiB
C

/* $FreeBSD$ */
/*
* FreeBSD install - a package for the installation and maintainance
* of non-core utilities.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* Jordan K. Hubbard
* 18 July 1993
*
* Include and define various things wanted by the create command.
*
*/
#ifndef _INST_CREATE_H_INCLUDE
#define _INST_CREATE_H_INCLUDE
extern match_t MatchType;
extern char *Prefix;
extern char *Comment;
extern char *Desc;
extern char *Display;
extern char *Install;
extern char *PostInstall;
extern char *DeInstall;
extern char *PostDeInstall;
extern char *Contents;
extern char *Require;
extern char *SrcDir;
extern char *BaseDir;
extern char *ExcludeFrom;
extern char *Mtree;
extern char *Pkgdeps;
extern char *Conflicts;
extern char *Origin;
extern char *InstalledPkg;
extern char PlayPen[];
extern int Dereference;
extern int PlistOnly;
extern int Recursive;
extern int Regenerate;
enum zipper {NONE, GZIP, BZIP, BZIP2 };
extern enum zipper Zipper;
void add_cksum(Package *, PackingList, const char *);
void check_list(const char *, Package *);
void copy_plist(const char *, Package *);
#endif /* _INST_CREATE_H_INCLUDE */