![]() I don't want to plunge into theory (everything is descried in debian policy document), so, let's work. Now you can see minimum and sufficient set of files. I want to continue work in cri-o dir because it's more effective in feature, so, I will move debian dir from cri-o-1.26 to cri-o: cp -r. Ĭri-o-v1.26.0 it's a dir with source code and debian dir.Ĭri-o-v1.26.0.tar.gz is a arch with software source code only.Ĭri-o_v1.26.0. is a symlink to cri-o-v1.26.0.tar.gz This command will produce some files: ls -1. It can recognize package name version, but sometime something goes wrong. Now I will create skeleton by using debmake tool. This nice command will clone only single version of sources instead of cloning all git. I prefer to use git directly because sometimes you need to make packages for internal software of your company (which means accessible git but optional http archive): cd /volume Usually you can find recommendations to download archive and rename it. The simple way to do it is "debmake" program.įirst of all you need to download source code of software and and make archive with original source code. Ok, now I need to create skeleton of my future source package. I will use "debmake" program with some arguments. I will split creation process into some steps. Thus /volume dir is a dir with my project. I will do all work in podman container because it's comfortable and provides clear environment. If we talk about Debian, you need to install some dependencies: Full explanation may be found here, I will do it in fast way: git config -global user.email config -global user.name "Alexey Lukyanchuk" QUILT_COLORS="diff_hdr=1 32:diff_add=1 34:diff_rem=1 31:diff_hunk=1 33:diff_ctx=35:diff_cctx=33"Īnd I detest visual mode in vim, so touch ~/.vimrcĪnd don't forget to setup your git variables. QUILT_PATCH_OPTS="-reject-format=unified" QUILT_DIFF_ARGS="-color=auto" # If you want some color when using `quilt diff`. Second step is config for quilt: cat /dev/null You can do it in ~/.bashrc sed -i '/DEBEMAIL/d' ~/.bashrc your git with debian dir for package creationįirst of all, you need to prepare your DEBMAIL and DEBFULLNAME vars.build-clean, to clean binary packages(useful for development and testing process).src-get to get "vanilla" source codes from original package git.src-clean to clean "vanilla" source codes.create and use additional target in rules:.make separate git for your debian-dir with files for source-package.store ready src-deb and binary-deb in repo (everybody does it).But information on how-to maintain it, how to produce new versions again, again and again is missing. Usually in articles authors write how-to build package only once. ![]() According to using quilt patch management system, you must have this directory with series file or build will fail. patches - directory with your patches for software.rules: make-file with instructions how to build software.control: file with mandatory information like package name, version, source, checksums, other data.I would like to highlight only crucial files: ![]() I will not try to describe all potential variants, you can find them in debian policy. You should make a source-package with a source code, instructions how to build, patches, control files and some additional files that you may need. It's about debian-source packages(debian,ubuntu,etc), pkgbuild (for arch), ebuild for gentoo, src-rpm for red hat-based, and many others.īefore reading the text below I strongly recommend to get familiarized with the official Debian policy manual placed here and debhelper manpage.Īlso you will be required to setup some variables like DEBMAIL and DEBFULLNAME for proper data in changelog and other places. The better way is to make distro-aligned package that can be built if needed and that produces lightly distributed binary-packages. But it's a non-reproducible solution, also hard for distribution. Of course, you can build this software on your computer without any src-packages, directly (with simplification: configure, make, make install). I am keen on the phrase: "Only source control gives you freedom". Once every true-linux engineer gets a trouble: there is no any software in his distro or it's built without needed options.
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |