Basic version working.

This commit is contained in:
2023-10-24 18:49:20 -07:00
parent fd93a937a4
commit d9d0929bb7
12 changed files with 733 additions and 170 deletions

33
include/Debian.h Normal file
View File

@@ -0,0 +1,33 @@
///
/// \file Debian.h
/// \author K. Isom <kyle@imap.cc>
/// \date 2023-10-24
/// \brief Functionality for interacting with Debian packages on Gitea.
/// Copyright 2023 K. Isom <kyle@imap.cc>
///
/// Permission to use, copy, modify, and/or distribute this software for
/// any purpose with or without fee is hereby granted, provided that
/// the above copyright notice and this permission notice appear in all /// copies.
///
/// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
/// WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
/// WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
/// AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
/// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
/// OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
/// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
/// PERFORMANCE OF THIS SOFTWARE.
///
#ifndef SC3DEV_DEBIAN_H
#define SC3DEV_DEBIAN_H
#include <string>
#include <vector>
bool debianPackager(std::vector<std::string> args);
#endif// SC3DEV_DEBIAN_H

34
include/Generic.h Normal file
View File

@@ -0,0 +1,34 @@
///
/// \file Generic.h
/// \author K. Isom <kyle@imap.cc>
/// \date 2023-10-24
/// \brief Functionality for interacting with generic packages on
/// Gitea.
///
/// Copyright 2023 K. Isom <kyle@imap.cc>
///
/// Permission to use, copy, modify, and/or distribute this software for
/// any purpose with or without fee is hereby granted, provided that
/// the above copyright notice and this permission notice appear in all /// copies.
///
/// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
/// WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
/// WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
/// AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
/// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
/// OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
/// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
/// PERFORMANCE OF THIS SOFTWARE.
///
#ifndef SC3DEV_GENERIC_H
#define SC3DEV_GENERIC_H
#include <string>
#include <vector>
bool genericPackager(std::vector<std::string> args);
#endif// SC3DEV_GENERIC_H

51
include/Utility.h Normal file
View File

@@ -0,0 +1,51 @@
///
/// \file Utility.h
/// \author K. Isom <kyle@imap.cc>
/// \date 2023-10-24
/// \brief Common utility functions for packaging.
///
/// Copyright 2023 K. Isom <kyle@imap.cc>
///
/// Permission to use, copy, modify, and/or distribute this software for
/// any purpose with or without fee is hereby granted, provided that
/// the above copyright notice and this permission notice appear in all /// copies.
///
/// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
/// WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
/// WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
/// AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
/// DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
/// OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
/// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
/// PERFORMANCE OF THIS SOFTWARE.
///
#ifndef SC3DEV_UTILITY_H
#define SC3DEV_UTILITY_H
#include <string>
static const auto defaultOwner = std::string("sc");
static const auto defaultDistribution = std::string("ubuntu");
static const auto defaultComponent = std::string("main");
enum class Result {
Created = 0,
BadPackage = 1,
DuplicatePackage = 2,
Deleted = 3,
NotFound = 4,
CurlFailed = 5,
};
std::string ResultToString(Result result);
bool ResultSuccess(Result result);
Result PutFile(std::string url, std::string path);
Result DeleteFile(std::string url);
#endif// SC3DEV_UTILITY_H