GNU/Linux >> Linux の 問題 >  >> Debian

LinuxでのC開発–公式Debianリポジトリでのパッケージの入手–XII。

はじめに

これは私たちのC開発シリーズの最後の記事であり、間違いなく最も技術的でないものです。最初から私たちをフォローし、可能な限り練習すれば、C開発と、最も使用されている2つのLinuxディストリビューションファミリーであるDebianとRedhat用に(お気に入りの)アプリケーションをパッケージ化する方法に関する基本的な知識が得られます。この記事は、コミュニティ、貢献する方法、コラボレーションする方法、そして最後に、公式のDebianアーカイブでパッケージを入手する方法についてです。シリーズの以前の記事を読んだ場合、他の技術的な知識は必要ありません。必要なのは、コミュニティの利益のために知識を活用する意志だけです。

はじめに

アプリケーションがあり、パッケージ化して、Debianアーカイブにアップロードしたいと思っています(ちなみに、ここで紹介するアイデアの多くは、多くのオープンソースプロジェクトに当てはまります。通常、異なるのは物事のやり方です)。それほど速くはないと思います。少し時間を取って呼吸し、コミュニティに自分自身を知らせる方法を見つけてください。まだ読んでいない場合は、Debian New Maintainer’s Guideを読んで、ここでキーワードを覚えておいてください:コミュニティ。誰もがボランティアであり、特に民主的な見方からDebianを選びました。そして、誰もあなたの入札をするために報酬を支払われたり強制されたりすることはありません。とにかく、私たちはあなたがガイドやマニュアルをどれだけ読みたいかを知っているので、この記事の一部はコラボレーションに関するいくつかの正しいアドバイスで構成されます。まず、自分でやっていくことに慣れます。インターネットの親友である$SEARCH_ENGINEに行く代わりに、問題の最初の兆候にぶつかったときに、フォーラム、メーリングリスト、IRCチャネルを、「どのgccフラグが必要ですか。 i686用にコードをコンパイルするには?」あなたが得る唯一のものは、友好的ではないRTFMとたくさんの欠けているオタクポイントです。はい、gccマニュアルは大きく、頭痛の種になることは間違いありませんが、マニュアルを読んでから最初にネットを検索するのが正しい方法(TM)です。例外なし。宿題をしたことを他の開発者に示すと、第一印象が良くなります。一方で、特にそのような行動が求められていない場合、初心者に苦労を与えることはあなたに人気を得ることができません。あなたはかつて彼らのようだったことを忘れないでください。私たち全員として、まだ学ぶことがたくさんあることを忘れないでください。おそらく、役立つと思うリソースにその人を向けてください。この文脈では、その言葉をもう一度覚えておいてください:コミュニティ。コミュニティがそれを役立つと思わない限り、それがあなたにとって世界を意味するという事実にもかかわらず、あなたの仕事はあまり意味がありません。彼らと協力してフィードバックを受け入れる準備をしてください。聞いた内容が気に入らなくても、感謝してください。ドアに誇りを残し、ソフトウェアを改善するための最善かつおそらく唯一の方法はコミュニティのフィードバックであることを忘れないでください。しかし、極端に陥らないで、公平になるようにしてください。おそらく、楽しみのためだけにあなたを落胆させようとする人もいるでしょう。彼らを無視し、建設的な批判に集中してください。

取引のツール

Debian開発者として、またはその他のディストリビューション/プロジェクトとして必要になる最初のツールは、忍耐力です。 yestで行ったように、パッケージ化しているのが自分のソフトウェアなのか、他の誰かのソフトウェアなのかは、実際には問題ではありません。特にDebianのような品質重視のプロジェクトでは、一夜にして開発者になることはありません。さて、物事の実用的な側面に入るには、必要な最初のそして最も明白なツールは、プログラムが書かれている言語のコンパイラです。または、プログラムが何らかの解釈された言語で書かれている場合は、インタプリタ(Perl、 Python、Ruby…)は依存関係としてあります。ただし、これは結局のところC開発記事シリーズであるため、C側に集中し、開発マシンにインストールした方がよいユーティリティの非網羅的なリストを提供します。

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

注意しておけば、そのリストから重要なユーティリティを省略していることに気付くでしょう。見つけられますか?

ドキュメント

Debianは2つのドキュメントを推奨しています。実際、違います。 Debianは2つのドキュメントを推奨していますが、2回以上読んで、常に手元に置いておくことが重要だと言っています。これらはDebianポリシーと開発者向けリファレンスであり、Web経由とパッケージの両方で入手できます。また、GNUコーディング標準は、必要なときに、特にアプリケーションを自分で作成している場合に、手元に置いておく必要があります。

上流

このシリーズの主な例としてyestに焦点を当てているため、私たちが主な開発者ではなく単なるパッケージャーであることが簡単にわかります。そのため、アップストリームと連絡を取り合う必要があります。もちろん、上記の通信ルールが適用され、アップストリームとの緊密なコラボレーションにより、作成者が新しいバージョンをアップロードするとすぐに更新される健全なパッケージが作成されます。作者はおそらくソフトウェアを公開する前にテストしましたが、パッケージをアップロードする前に自分で単体テストを行うと、さらに良いでしょう。これについてはDejaGNUのようなツールを見て、見つかった問題をアップストリームに報告してください。報告と言えば、メンテナになるときに自分が負う責任を理解する必要があります。 Debianユーザーからのすべてのバグレポートが届きます。すべての問題を修正するために、ユーザーとアップストリームの間の触媒として機能するのはあなたの義務です。

メンター

あなたの多く、特に私のような年配の人は、空手キッドシリーズを見たことがあります。どちらかといえば、その映画はマスターと見習いの関係を示しています(OK、例としてスターウォーズを使用することもできます...)。あなたが開発者になることを求め、あなたの願いが数分で叶うと思うなら、あなたは忍耐を忘れました。いいえ、最初にメンタリングを依頼し、成果や動機などを示す必要があります。しばらくすると、価値があることが証明された後、メンターがあなたを保証して、メンテナーになるための申請書を提出します。

アップロード

もうすぐです。アップロードを適切に実行するだけです。ここまで来たら、もう背中をなでることができます。ここで、必要なアプリケーションはdupload(1)と呼ばれ、dupload.conf(5)という名前のファイルを作成する必要があります。 ホームディレクトリに移動し、設定の変更を開始します。ファイルのマニュアルページが怖いと思われる場合は、/etc/dupload.confを使用できます。 例として。 ~/dupload.confを保存した後 、次のようなことができます:

 $ dupload yest-2.7.0.5_i386.changes

さて、初めてパッケージをアップロードするときに他に何をしなければならないかを知ることは、読者の練習問題として残されています。また、Debian New Maintainer’s Guideの第9章を読んで、もう一度読んでから、さらに読んでください。以上です!

このシリーズのすべての記事:

  • 私。 LinuxでのC開発–はじめに
  • II。 C言語と他のプログラミング言語の比較
  • III。タイプ、演算子、変数
  • IV。フロー制御
  • V。機能
  • VI。ポインタと配列
  • VII。構造
  • VIII。基本的なI/O
  • IX。コーディングスタイルと推奨事項
  • X。プログラムの作成
  • XI。 DebianとFedoraのパッケージング
  • XII。公式のDebianリポジトリでパッケージを入手する

Debian
  1. LinuxカーネルをDebianの方法で構築する

  2. Ubuntu /DebianLinuxでDEBパッケージによってインストールされたすべてのファイルを一覧表示する方法

  3. bash:netstat:コマンドが見つかりません– Debian / Ubuntu Linux

  1. Debian 9StretchLinuxでJekyllを使い始める

  2. DebianLinuxにJavaSEDevelopmentKitをインストールする方法

  3. DebianLinuxでのpythonvirtualenv開発環境のセットアップ

  1. Debian 9StretchLinuxにOracleJavaSE開発キットをインストールする方法

  2. Debian 9StretchLinuxに最新のMesaバージョンをインストールする方法

  3. Debian 9StretchLinuxに最新のNVIDIAドライバーをインストールする方法