Skip to content

Instantly share code, notes, and snippets.

@KMACREATOR
Created June 17, 2024 23:36
Show Gist options
  • Save KMACREATOR/c81dfcd8a5c261b8d6c4ec297ca60e4b to your computer and use it in GitHub Desktop.
Save KMACREATOR/c81dfcd8a5c261b8d6c4ec297ca60e4b to your computer and use it in GitHub Desktop.
lab06

#lab06

Выполнил студент группы ИУ8-24 Конов Михаил

computer@MLK:~$ export GITHUB_USERNAME=KMACREATOR
computer@MLK:~$ export GITHUB_EMAIL=agredi2567@gmail.com
computer@MLK:~$ alias edit=nano
computer@MLK:~$ alias gsed=sed
computer@MLK:~$ cd ${GITHUB_USERNAME}/workspace
computer@MLK:~/KMACREATOR/workspace$ pushd .
~/KMACREATOR/workspace ~/KMACREATOR/workspace
computer@MLK:~/KMACREATOR/workspace$ source scripts/activate
computer@MLK:~/KMACREATOR/workspace$ git clone git@github.com:KMACREATOR/lab05 projects/lab06
Клонирование в «projects/lab06»...
remote: Enumerating objects: 43, done.
remote: Counting objects: 100% (43/43), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 43 (delta 8), reused 43 (delta 8), pack-reused 0
Получение объектов: 100% (43/43), 7.61 КиБ | 3.80 МиБ/с, готово.
Определение изменений: 100% (8/8), готово.
computer@MLK:~/KMACREATOR/workspace$ cd projects/lab06
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ git remote remove origin
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ git remote add origin git@github.com/KMACREATOR/lab06
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ gsed -i '/project(print)/a\
> set(PRINT_VERSION_STRING "v\${PRINT_VERSION}")
> ' CMakeLists.txt
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ gsed -i '/project(print)/a\
> set(PRINT_VERSION\
>   \${PRINT_VERSION_MAJOR}.\${PRINT_VERSION_MINOR}.\${PRINT_VERSION_PATCH}.\${PRINT_VERSION_TWEAK})
> ' CMakeLists.txt
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ gsed -i '/project(print)/a\
> set(PRINT_VERSION_TWEAK 0)
> ' CMakeLists.txt
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ gsed -i '/project(print)/a\
> set(PRINT_VERSION_PATCH 0)
> ' CMakeLists.txt
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ gsed -i '/project(print)/a\
> set(PRINT_VERSION_MINOR 1)
> ' CMakeLists.txt
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ gsed -i '/project(print)/a\
> set(PRINT_VERSION_MAJOR 0)
> ' CMakeLists.txt
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ git diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 96a361e..db651c5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,6 +6,13 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
 option(BUILD_EXAMPLES "Build examples" OFF)
 
 project(print)
+set(PRINT_VERSION_MAJOR 0)
+set(PRINT_VERSION_MINOR 1)
+set(PRINT_VERSION_PATCH 0)
+set(PRINT_VERSION_TWEAK 0)
+set(PRINT_VERSION
+  ${PRINT_VERSION_MAJOR}.${PRINT_VERSION_MINOR}.${PRINT_VERSION_PATCH}.${PRINT_VERSION_TWEAK})
+set(PRINT_VERSION_STRING "v${PRINT_VERSION}")
 
 add_library(print STATIC ${CMAKE_CURRENT_SOURCE_DIR}/sources/print.cpp)
 
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ touch DESCRIPTION && edit DESCRIPTION
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ touch ChangeLog.md
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ export DATE="`LANG=en_US date +'%a %b %d %Y'`"
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cat > ChangeLog.md <<EOF
> * ${DATE} ${GITHUB_USERNAME} <${GITHUB_EMAIL}> 0.1.0.0
> - Initial RPM release
> EOF
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cat > CPackConfig.cmake <<EOF
> include(InstallRequiredSystemLibraries)
> EOF
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cat >> CPackConfig.cmake <<EOF
> set(CPACK_PACKAGE_CONTACT ${GITHUB_EMAIL})
> set(CPACK_PACKAGE_VERSION_MAJOR \${PRINT_VERSION_MAJOR})
> set(CPACK_PACKAGE_VERSION_MINOR \${PRINT_VERSION_MINOR})
> set(CPACK_PACKAGE_VERSION_PATCH \${PRINT_VERSION_PATCH})
> set(CPACK_PACKAGE_VERSION_TWEAK \${PRINT_VERSION_TWEAK})
> set(CPACK_PACKAGE_VERSION \${PRINT_VERSION})
> set(CPACK_PACKAGE_DESCRIPTION_FILE \${CMAKE_CURRENT_SOURCE_DIR}/DESCRIPTION)
> set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "static C++ library for printing")
> EOF
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cat >> CPackConfig.cmake <<EOF
> 
> set(CPACK_RESOURCE_FILE_LICENSE \${CMAKE_CURRENT_SOURCE_DIR}/LICENSE)
> set(CPACK_RESOURCE_FILE_README \${CMAKE_CURRENT_SOURCE_DIR}/README.md)
> EOF
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cat >> CPackConfig.cmake <<EOF
> 
> set(CPACK_RPM_PACKAGE_NAME "print-devel")
> set(CPACK_RPM_PACKAGE_LICENSE "MIT")
> set(CPACK_RPM_PACKAGE_GROUP "print")
> set(CPACK_RPM_CHANGELOG_FILE \${CMAKE_CURRENT_SOURCE_DIR}/ChangeLog.md)
> set(CPACK_RPM_PACKAGE_RELEASE 1)
> EOF
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cat >> CPackConfig.cmake <<EOF
> 
> set(CPACK_DEBIAN_PACKAGE_NAME "libprint-dev")
> set(CPACK_DEBIAN_PACKAGE_PREDEPENDS "cmake >= 3.0")
> set(CPACK_DEBIAN_PACKAGE_RELEASE 1)
> EOF
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cat >> CPackConfig.cmake <<EOF
> 
> include(CPack)
> EOF
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cat >> CMakeLists.txt <<EOF
> 
> include(CPackConfig.cmake)
> EOF
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ gsed -i 's/lab05/lab06/g' README.md
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ git add .
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ git commit -m"added cpack config"
[main dd7c690] added cpack config
 4 files changed, 35 insertions(+)
 create mode 100644 CPackConfig.cmake
 create mode 100644 ChangeLog.md
 create mode 100644 DESCRIPTION
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ git tag v0.1.0.0
computer@MLK:~/KMACREATOR/workspace/projects/lab06$  git push origin master --tags
error: src refspec master ничему не соответствует
error: не удалось отправить некоторые ссылки в «git@github.com/KMACREATOR/lab06»
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cmake -H. -B_build
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
cmake --build _build-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/computer/KMACREATOR/workspace/projects/lab06/_build
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cmake --build _build
Scanning dependencies of target print
[ 50%] Building CXX object CMakeFiles/print.dir/sources/print.cpp.o
[100%] Linking CXX static library libprint.a
[100%] Built target print
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cd _build
computer@MLK:~/KMACREATOR/workspace/projects/lab06/_build$ cpack -G "TGZ"
CPack: Create package using TGZ
CPack: Install projects
CPack: - Run preinstall target for: print
CPack: - Install project: print []
CPack: Create package
CPack: - package: /home/computer/KMACREATOR/workspace/projects/lab06/_build/print-0.1.0.0-Linux.tar.gz generated.
computer@MLK:~/KMACREATOR/workspace/projects/lab06/_build$ cd ..
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cmake -H. -B_build -DCPACK_GENERATOR="TGZ"
-- Configuring done
-- Generating done
-- Build files have been written to: /home/computer/KMACREATOR/workspace/projects/lab06/_build
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ cmake --build _build --target package
[100%] Built target print
Run CPack packaging tool...
CPack: Create package using TGZ
CPack: Install projects
CPack: - Run preinstall target for: print
CPack: - Install project: print []
CPack: Create package
CPack: - package: /home/computer/KMACREATOR/workspace/projects/lab06/_build/print-0.1.0.0-Linux.tar.gz generated.
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ mkdir artifacts
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ mv _build/*.tar.gz artifacts
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ tree artifacts
artifacts
`-- print-0.1.0.0-Linux.tar.gz

1 directory, 1 file
computer@MLK:~/KMACREATOR/workspace/projects/lab06$ git push origin main
Перечисление объектов: 49, готово.
Подсчет объектов: 100% (49/49), готово.
При сжатии изменений используется до 4 потоков
Сжатие объектов: 100% (31/31), готово.
Запись объектов: 100% (49/49), 8.48 КиБ | 8.48 МиБ/с, готово.
Всего 49 (изменения 10), повторно использовано 41 (изменения 8)
remote: Resolving deltas: 100% (10/10), done.
To github.com:KMACREATOR/lab06
 * [new branch]      main -> main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment