Merge branch 'main' of feistymeow.org:feisty_meow
[feisty_meow.git] / archival / snarf_feisty_meow.pl
1 #!/usr/bin/perl
2
3 ##############
4 #  Name   : snarf_feisty_meow
5 #  Author : Chris Koeritz
6 #  Rights : Copyright (C) 1996-$now by Author
7 #  Purpose:
8 #    Gathers together the useful shell files and standard databases.
9 #    Backs up the full set of hoople 2.0 source code, plus some extra stuff.
10 ##############
11 #  This program is free software; you can redistribute it and/or modify it    #
12 #  under the terms of the GNU General Public License as published by the Free #
13 #  Software Foundation; either version 2 of the License or (at your option)   #
14 #  any later version.  See: "http://www.gruntose.com/Info/GNU/GPL.html" for a #
15 #  version of the License.  Please send any updates to "fred@gruntose.com".   #
16 ##############
17
18 require "shared_snarfer.pl";
19
20 use Env qw(FEISTY_MEOW_APEX);
21
22 &initialize_snarfer;  # let the snarfer hook us in.
23
24 # get the number attachment and increment it for the next use.
25 local($number) = &retrieve_number("aa_backup");
26
27 # variables used throughout here.
28 local($snarf_file_base) = &snarf_prefix("packaged_feisty_meow");
29 local($snarf_file) = &snarf_name($snarf_file_base, $number);
30
31 # store the archive number in the file for retrieval on the other side.
32 &backup_number("aa_backup", $snarf_file_base, $number);
33
34 # the top directory where everything we're grabbing lives.
35 local($root) = &canonicalize("$FEISTY_MEOW_APEX");
36
37 # grab the top level stuff.
38 &backup_files($snarf_file_base, $number, $root, ".", ("*.txt", "make*", ".gitignore", "*.yml"));
39
40 # snarf up all the important directories.
41 # CAK: current as of 2012-05-05.
42 ###moved &backup_hierarchy($snarf_file_base, $number, $root, "customize");
43 &backup_hierarchy($snarf_file_base, $number, $root, "infobase");
44 &backup_hierarchy($snarf_file_base, $number, $root, "documentation");
45 &backup_hierarchy($snarf_file_base, $number, $root, "experiments");
46 &backup_hierarchy($snarf_file_base, $number, $root, "graphiq");
47 &backup_hierarchy($snarf_file_base, $number, $root, "huffware");
48 &backup_hierarchy($snarf_file_base, $number, $root, "kona");
49 &backup_hierarchy($snarf_file_base, $number, $root, "nucleus");
50 &backup_hierarchy($snarf_file_base, $number, $root, "octopi");
51 &backup_hierarchy($snarf_file_base, $number, $root, "scripts");
52 &backup_hierarchy($snarf_file_base, $number, $root, "hypermedia");
53 &backup_hierarchy($snarf_file_base, $number, $root, "walrus");
54
55 # grab the production assets.
56 &backup_files($snarf_file_base, $number, $root, "production", ("*.ini", "make*", ".gitignore"));
57 &backup_hierarchy($snarf_file_base, $number, "$root", "production/3rdparty");
58 &backup_hierarchy($snarf_file_base, $number, "$root", "production/assign_bases");
59 &backup_hierarchy($snarf_file_base, $number, "$root", "production/check_versions");
60 &backup_hierarchy($snarf_file_base, $number, "$root", "production/setup_src");
61
62 # now rename the file so only the unpacker can access it.
63 &rename_archive($snarf_file);
64
65 exit 0;
66