GNU/Linux >> Znalost Linux >  >> Debian

Vývoj C na Linuxu – Získání balíčku v oficiálních repozitářích Debianu – XII.

Úvod

Toto je poslední díl naší vývojové řady C a pravděpodobně ten nejvíce netechnický. Pokud jste nás sledovali od začátku a trénovali co nejvíce, máte nyní nějaké základní znalosti o vývoji v C a o tom, jak zabalit vaši (oblíbenou) aplikaci pro dvě nejpoužívanější rodiny distribucí Linuxu, Debian a Redhat. Tento článek je o komunitě, o tom, jak přispívat, jak spolupracovat a konečně o tom, jak dostat svůj balíček do oficiálních archivů Debianu. Pokud si přečtete předchozí články série, nebudete potřebovat žádné další technické znalosti; vše, co potřebujete, je vůle využít své znalosti ve prospěch komunity.

Začínáme

Máte aplikaci, zabalili jste ji a nyní ji chcete nahrát do archivů Debianu (mimochodem, mnoho zde uvedených myšlenek platí pro mnoho projektů s otevřeným zdrojovým kódem:obvykle se liší způsob, jak věci dělat). Řekli bychom, že ne tak rychle. Na chvíli se nadechněte a najděte způsoby, jak o sobě dát vědět komunitě. Udělejte si čas na přečtení Debian New Maintainer’s Guide, pokud jste to ještě neudělali, a zapamatujte si klíčové slovo zde:komunita. Každý je dobrovolník a Debian jsme si vybrali zejména kvůli jeho demokratickým názorům a nikdo není placen ani žádným způsobem nucen plnit vaše nabídky. Každopádně, protože víme, jak rádi čtete průvodce a manuály, bude část tohoto článku obsahovat několik rozumných rad týkajících se spolupráce. Nejprve si zvykněte na to, abyste si vystačili sami. Nikdo nemá rád člověka, který, když narazí na první náznak potíží, místo toho, aby šel za nejlepším internetovým přítelem, $SEARCH_ENGINE, začal znečišťovat fóra, e-mailové konference a IRC kanály dětinskými otázkami jako „Jaké příznaky gcc potřebuji zkompilovat můj kód pro i686?“. Jediné, co získáte, je méně než přátelské RTFM a spousta chybějících geek bodů. Ano, víme, že příručka gcc je obsáhlá a zaručená pro bolení hlavy, ale správnou cestou (TM) je přečíst si příručku a poté hledat na netu. Žádné vyjímky. První dobrý dojem uděláte, když ostatním vývojářům ukážete, že jste udělali domácí úkol. Na druhou stranu, když budete začátečníkům dělat těžkou hlavu, zvláště když takové chování není vyžadováno, nezískáte si žádnou popularitu. Pamatujte, že jste kdysi byli jako oni, pamatujte, že se stejně jako my všichni máme ještě hodně co učit, a možná nasměrujte osobu na zdroj, o kterém si myslíte, že je užitečný. V této souvislosti si znovu zapamatujte to slovo:komunita. Vaše práce mnoho neznamená, přestože pro vás znamená svět, pokud to komunita nepovažuje za užitečné. Spolupracujte s nimi a buďte připraveni přijmout zpětnou vazbu a buďte za ni vděční, i když se vám nemusí líbit, co slyšíte. Nechte svou hrdost za dveřmi a pamatujte, že nejlepší a možná jediný způsob, jak vylepšit váš software, je zpětná vazba od komunity. Ale neupadejte do extrémů a snažte se být nestranní. Možná se vás někteří lidé budou snažit srazit jen tak pro zábavu:ignorujte je a soustřeďte se na konstruktivní kritiku.

Obchodní nástroje

První nástroj, který kdy budete jako vývojář Debianu nebo jakéhokoli jiného distro/projektu potřebovat, je trpělivost. Nezáleží na tom, jestli je to váš vlastní software, který balíte, nebo někdo jiný, jak jsme to udělali dosud. Člověk se nestane vývojářem přes noc, zvláště v projektu zaměřeném na kvalitu, jako je Debian. Nyní, abychom se dostali k praktické stránce věci, prvním a nejzřejmějším nástrojem, který potřebujete, je kompilátor jazyka, ve kterém je váš program napsán. Nebo, pokud je program napsán v nějakém interpretovaném jazyce, ujistěte se, že překladač (Perl, Python, Ruby…) je zde jako závislost. My se však zaměříme na stranu C, protože to je koneckonců série článků o vývoji v jazyce C, a poskytneme vám neúplný seznam nástrojů, které byste si raději nainstalovali na svůj vývojový stroj:

auto* tools (autoconf, automake, ...)
debhelper and dh-make -- Debian-specific
devscripts, fakeroot -- same, see the Guide for details
a VCS of your choice, depending on the situation at hand -- we prefer to take no sides here
gnupg -- for digitally signing your packages, mandatory in Debian
lintian -- the name is a combination of lint and Debian, so it's self-explanatory
patch - you should know by know why you'd need it
pbuilder -- for creating a chroot

Pokud byste byli opatrní, všimli byste si, že jsme v tomto seznamu vynechali důležitou utilitu. Dokážete to zjistit?

Dokumentace

Debian doporučuje dva dokumenty. Ve skutečnosti ne. Debian doporučuje tyto dva dokumenty, ale říkáme, že je nezbytné, abyste si je přečetli více než jednou a měli je vždy po ruce. Jsou to Zásady Debianu a Referenční příručka pro vývojáře, které jsou dostupné přes web i jako balíčky. Také standardy kódování GNU by měly být po ruce, když je potřebujete, zvláště když/pokud sami píšete aplikaci.

Předchozí

Vzhledem k tomu, že se zaměřujeme na yes jako primární příklad této série, je snadné zjistit, že jsme pouze baliči, nikoli primární vývojáři, takže musíme udržovat kontakt s upstreamem. Platí samozřejmě výše uvedená pravidla komunikace a úzká spolupráce s upstreamem vytváří zdravý balíček, který se okamžitě aktualizuje, jakmile autor nahraje novou verzi. Ačkoli zmíněný autor pravděpodobně testoval software před jeho uvolněním do volné přírody, pokud si před nahráním balíčku uděláte nějaké testy jednotek, bude ještě lepší. Podívejte se na nástroje, jako je DejaGNU, a nahlaste všechny zjištěné problémy proti proudu. Když už mluvíme o hlášení, musíte pochopit odpovědnost, kterou na sebe berete, když se stanete správcem. VŠECHNA hlášení o chybách od uživatelů Debianu vám budou doručena a je vaší povinností působit jako katalyzátor mezi uživateli a upstreamem, aby byly všechny problémy vyřešeny.

Mentor

Mnozí z vás, zejména ti starší jako já, viděli sérii Karate Kid. Pokud něco, tento film ukazuje vztah mezi mistrem a učedníkem (OK, jako příklad můžete použít i Star Wars…). Pokud si myslíte, že žádáte stát se vývojářem a vaše přání je splněno během několika minut, zapomněli jste na trpělivost. Ne, musíte nejprve požádat o mentoring, ukázat své úspěchy, motivaci a tak dále. Po chvíli, až prokážete, že jste toho hodni, odešlete žádost, abyste se stali správcem, přičemž mentor ručí za vás.

Nahrávání

Jste téměř tam, vše, co musíte udělat, je provést správné nahrání. Pokud jste se dostali až sem, už se můžete poplácat po zádech. Nyní se aplikace, kterou potřebujete, nazývá dupload(1) a měli byste vytvořit soubor s názvem dupload.conf(5) ve svém domovském adresáři a začněte upravovat nastavení. Pokud se vám manuálová stránka souboru zdá děsivá, můžete použít /etc/dupload.conf jako příklad. Po uložení ~/dupload.conf , můžete udělat něco takového:

 $ dupload yest-2.7.0.5_i386.changes

Nyní je to ponecháno jako cvičení na čtenáři, aby zjistil, co dalšího je třeba udělat při prvním nahrávání balíčku. Také byste si měli přečíst a znovu přečíst kapitolu 9 Příručky nového správce Debianu a poté ještě něco dalšího. To je vše!

Všechny články v této sérii:

  • I. Vývoj jazyka C na Linuxu – úvod
  • II. Srovnání mezi C a jinými programovacími jazyky
  • III. Typy, operátory, proměnné
  • IV. Řízení toku
  • V. Funkce
  • VI. Ukazatele a pole
  • VII. Struktury
  • VIII. Základní I/O
  • IX. Styl kódování a doporučení
  • X. Vytváření programu
  • XI. Balení pro Debian a Fedoru
  • XII. Získání balíčku v oficiálních repozitářích Debianu

Debian
  1. Vytváření linuxových jader způsobem Debian

  2. Jak zobrazit seznam všech souborů nainstalovaných balíčkem DEB na Ubuntu/Debian Linux

  3. Nastavení vývojového prostředí python virtualenv na Debian Linuxu

  1. Jak nainstalovat Oracle Java SE Development Kit na Debian 9 Stretch Linux

  2. Jak nainstalovat nejnovější verzi Mesa na Debian 9 Stretch Linux

  3. Debian – Jak poznat zdrojové úložiště balíčku v Debianu?

  1. bash:netstat:příkaz nenalezen – Debian/Ubuntu Linux

  2. Začínáme s Jekyll na Debian 9 Stretch Linuxu

  3. Jak nainstalovat Java SE Development Kit na Debian Linux