Add setisodate utility.
This utility is capable of setting the system clock, taking its argument in ISO8601 format.
This commit is contained in:
parent
64c5ce0d65
commit
21adf7acf0
|
@ -0,0 +1 @@
|
|||
app c setisodate sbin
|
|
@ -0,0 +1,45 @@
|
|||
/* libiso8601/src/setisodate/000_TopSource.c
|
||||
*
|
||||
* (c)2007, Laurence Withers, <l@lwithers.me.uk>.
|
||||
* Released under the GNU GPLv2. See file COPYING or
|
||||
* http://www.gnu.org/copyleft/gpl.html for details.
|
||||
*/
|
||||
|
||||
/* Below are all the includes used throughout the application. */
|
||||
#include <stdio.h>
|
||||
#include "iso8601.h"
|
||||
|
||||
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
struct iso8601_date d;
|
||||
char str[100];
|
||||
|
||||
if(argc != 2) {
|
||||
fputs("Expecting one argument: date/time (in ISO8601 format) to set.\n", stderr);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(iso8601_parse(argv[1], &d, 0, 0)) {
|
||||
fputs("Cannot parse date.\n", stderr);
|
||||
return 1;
|
||||
}
|
||||
|
||||
printf("Setting date to %s.\n",
|
||||
iso8601_print(str, sizeof(str), &d, 0));
|
||||
|
||||
if(iso8601_set_sysclock(&d)) {
|
||||
perror("iso8601_set_sysclock");
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* options for text editors
|
||||
kate: replace-trailing-space-save true; space-indent true; tab-width 4;
|
||||
vim: expandtab:ts=4:sw=4
|
||||
*/
|
|
@ -0,0 +1,43 @@
|
|||
# These are external variables, and shouldn't clash with anything else
|
||||
# setisodate
|
||||
# setisodate_BUILT
|
||||
#
|
||||
|
||||
build_target libiso8601
|
||||
|
||||
if [ -z ${setisodate_BUILT} ]
|
||||
then
|
||||
setisodate="obj/setisodate"
|
||||
EXTRAS="${libiso8601} ${libiso8601_DEP_CFLAGS} ${libiso8601_DEP_LIBS}"
|
||||
|
||||
echo "Building application ${setisodate}..."
|
||||
|
||||
do_cmd source src/setisodate/build.monolithic || return 1
|
||||
|
||||
MODIFIED=0
|
||||
for test in ${MONOLITHIC_TESTS} ${SRC}
|
||||
do
|
||||
if [ ${test} -nt ${setisodate} ]
|
||||
then
|
||||
MODIFIED=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ${MODIFIED} -ne 0 ]
|
||||
then
|
||||
echo " Compiling..."
|
||||
|
||||
do_cmd ${CC} ${CFLAGS} -I obj -o "${setisodate}" ${SRC} ${EXTRAS} || return 1
|
||||
|
||||
print_success "Application built"
|
||||
else
|
||||
print_success "Application up to date"
|
||||
fi
|
||||
|
||||
setisodate_BUILT=1
|
||||
|
||||
fi
|
||||
|
||||
# kate: replace-trailing-space-save true; space-indent true; tab-width 4;
|
||||
# vim: syntax=sh:expandtab:ts=4:sw=4
|
|
@ -0,0 +1 @@
|
|||
source src/setisodate/build.app
|
|
@ -0,0 +1 @@
|
|||
source src/setisodate/build.install-app
|
|
@ -0,0 +1,12 @@
|
|||
build_target setisodate
|
||||
|
||||
# make paths (this is for Gentoo in particular)
|
||||
build_dir_tree "${SBINDIR}" || return 1
|
||||
|
||||
# install binary
|
||||
echo "Installing binaries into '${SBINDIR}'"
|
||||
install_file "${setisodate}" "${SBINDIR}" 0755 || return 1
|
||||
print_success "Done"
|
||||
|
||||
# kate: replace-trailing-space-save true; space-indent true; tab-width 4;
|
||||
# vim: syntax=sh:expandtab:ts=4:sw=4
|
|
@ -0,0 +1,18 @@
|
|||
# These are external variables, and shouldn't clash with anything else
|
||||
# setisodate_MONOLITHIC
|
||||
#
|
||||
|
||||
SRC="obj/setisodate.c"
|
||||
MONOLITHIC_TESTS="src/setisodate/build.app src/setisodate/build.monolithic"
|
||||
|
||||
if [ -z "${setisodate_MONOLITHIC}" ]
|
||||
then
|
||||
MONOLITHIC_SOURCE="$(echo src/setisodate/*.c)"
|
||||
make_monolithic ${SRC} C || return 1
|
||||
|
||||
setisodate_MONOLITHIC=1
|
||||
MONOLITHIC_DOC="${MONOLITHIC_DOC} ${SRC}"
|
||||
fi
|
||||
|
||||
# kate: replace-trailing-space-save true; space-indent true; tab-width 4;
|
||||
# vim: syntax=sh:expandtab:ts=4:sw=4
|
Loading…
Reference in New Issue