انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: معرفی استایل و آیکن و فونت  (دفعات بازدید: 2269 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #30 : 05 امرداد 1401، 08:26 ق‌ظ »
آقای  Dragon-  خیلی زحمت ما را می‌کشند ، نخواستم بیش از این اذیتشان بکنم ، امشب را هم مثل خیلی از شبهای دیگه که روی این مساله کار کرده بودم ، نخوابیدم تا این مساله را حل بکنم.
الان با این شب زنده داری ها تازه می فهم که برنامه نویسان محترم چه می کشند. به خاطر یک نقطه یا ویرگول اضافی یا کم  ، بندگان خدا همیشه روی اعصابند .

روشی که من در ارسال بالاترم داشتم بدین نحو بود که فایل install.sh روی سیستمم اجرا می‌شد و من نگاه می‌کردم تا ببینم که این برنامه در سیستمم کجاها فایل هایش را ریخته ،می رفتم از جایی که فایل هایش ریخته از همگی آن‌ها یک کپی بر می داشتم و می گذاشتم توی یک پوشه ای در داخل پوشه سورس. بعد هم از پوشه سورس یک کپی می‌ گذاشتم توی پوشه debian .

 خیلی دوست داشتم برای فرمان install.sh  یک آپشنی را پیدا کنم تا دیگه در داخل سیستمم دنبال فایل‌های برنامه نگردم .  البته آقای  Dragon-  بعد از چند روز کلید حل این معما را دادند دستم ، (البته یک دندونک این کلید افتاده بود که بایستی یک جوری پیداش می کردم)
( آپشن  d- برای مشخص کردن دایرکتوری مقصد در اینجا بکار می رود. برای اطلاعات بیشتر عکس 1  را ببینید.)

بیایید تا ببینیم، ایراد کار کجا بود.

برای امتحان در داخل همین پوشه سورس یک ترمینالی باز می کنیم و ابتدا با دستور :
mkdir -p usr/share/themes
چند تا پوشه ی  تو در تو می سازیم. بعد هم دستور:
./install.sh -d usr/share/themes
 را بکار می‌بریم، همانطور که می‌بینید با اجرای install.sh پوشه های زیر در صفحه ترمینال نشان داده می شود که ایجاد می شوند:
Orchis Orchis-Compact Orchis-Dark  Orchis-Dark-Compact  Orchis-Light Orchis-Light-Compact

 ولی بعلت ناشناخته‌ای تنها پوشه Orchis در داخل پوشه themes قرار می‌گیرد و مابقی پوشه ها معلوم نمی‌شود چه می‌شوند !! ( عکس 2 )

بعد از کلی گشتن آخر سر فهمیدم که نبایستی مسیری که می‌خواهیم بدهیم بصورت:
usr/share/themes
نوشته شود ،بلکه مسیر مربوطه بایستی به این صورت نوشته شود:
/home/a/Documents/orchis-1/usr/share/themes
و بطور کلی:( عکس 3)
./install.sh -d /home/a/Documents/orchis-1/usr/share/themes
و فایل rules.sh هم بدین صورت:

#!/usr/bin/make -f

THEMES_DIR=debian/orchis/

build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp

build-stamp:
dh_testdir
touch build-stamp

clean:
dh_testdir
dh_testroot
rm -f build-stamp
dh_clean

install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs

mkdir usr
mkdir usr/share
mkdir usr/share/themes


./install.sh -d /home/a/Documents/orchis-1/usr/share/themes

cp -r usr/share/themes $(THEMES_DIR)
cp -r usr $(THEMES_DIR)
find $(THEMES_DIR) -name COPYING -exec rm '{}' \;
find $(THEMES_DIR) -name gtkrc -exec sed -i 's/gtk-tooltips/gtk-tooltip*/' '{}' \;
# dh_fixperms ignores /usr/share/themes
chmod -R 0644 $(THEMES_DIR);
chmod -R +X $(THEMES_DIR);

binary-indep: build install
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_fixperms
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install

و نتیجه نهایی: ( عکس 4 )

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #31 : 05 امرداد 1401، 06:49 ب‌ظ »
بر طبق این دستورالعمل :

https://wiki.debian.org/Packaging/Intro?action=show&redirect=IntroDebianPackaging

می خواهم بروم جلو:
نقل‌قول
Step 1: Rename the upstream tarball

دوباره به سایت:
https://github.com/vinceliuice/Orchis-theme
مراجعه می کنم و اینبار بجای zip ، فایل tar.gz.  را دانلود می کنم(عکس 1) ، در مثالی که در سایت دبیان آورده فایل hithere_1.0.orig.tar.gz
دارای واژه orig.tar.gz است ولی مال من tar.gz. می باشد.این orig چیست؟

سایت دبیان می گوید:
نقل‌قول
Note that there is an underscore (_), not a dash (-), in the name. This is important.

و اینکار را می کند:
$ mv hithere-1.0.tar.gz hithere_1.0.orig.tar.gz
من هم می خواهم از همین دستور استفاده کنم.( عکس 2)
سوال: چون در اسم فایل ، شماره ورژن ننوشته ،آیا برای استفاده در سیستم خودم همین طور الکی می توانم ورژنی بدهم؟( مثلا من در اینجا همین طوری ورژن 1.0 را دادم.)


نقل‌قول
Step 2: Unpack the upstream tarball

در سایت دبیان از این دستور برای  Unpack کردن استفاده کرده است:

$ tar xf hithere_1.0.orig.tar.gz
من هم از همین دستور می خواهم استفاده کنم.( عکس 3)

نقل‌قول
The source will unpack into a directory of the same name, and upstream version with a hyphen in between (not an underscore), so the upstream tarball should unpack into a directory called "hithere-1.0".

In this case, the tarball already unpacks into the correct subdirectory, so no changes are required.

ولی همانطور که می بینید تا جایی که من متوجه می شوم با این دستور در مثال سایت دبیان فایل hithere_1.0.orig.tar.gz به hithere-1.0 تبدیل می شود
 ولی چرا در مال من فایل orchis_1.0.tar.gz تبدیل می شود به Orchis-theme-2022-05-29 نه به orchis-1.0 ، چیزی به ذهنم نمی رسد!



پاسخ به سوال ارسالی قبلی ام و همچنین بهینه سازی جدید برای مطالب قبلی ام:

اگر توسعه‌دهنده نرم افزاری ، فایل orig آن نرم‌افزار را ارایه نکرده است ، جای هیچ گونه نگرانی نیست. من بلاخره امروز  توانستم  ، تنها با استفاده از آزمون وخطا به راه حل صحیح ایجاد فایل orig مربوط به یک فایل تاربال دست پیدا کنم.

در ضمن در اینجا راهکار صحیح تر  تغییر نام فایل  تاربال را برای ساخت فایل deb به شما خواهم گفت. تا بعداً دچار مشکل نشوید. هر چند که فایل deb ای که با روشهای قبلی گفته‌ام کار می‌کند و مشکلی ندارد ولی در ریز ریز مطلب  ، راهکار پایینی برای تغییر نام پوشه تاربال به نام مورد نظر بهتر می باشد.

مثال همیشگی:
فایلی بنام    Orchis-theme-2022-05-29.tar.gz  می باشد. در اینجا دو تا مساله داریم:
                                               

الف) مساله اول این است که ارایه دهنده این نرم‌افزار فایل orig این نرم‌افزار را ارایه نکرده است.
اگر به سایت دبیان نگاه کنید با استفاده از دستور:

tar xf hithere_1.0.orig.tar.gz https://wiki.debian.org/Packaging/Intro?action=show&redirect=IntroDebianPackaging

خروجی این دستور ایجاد پوشه ای بنام hithere-1.0  می باشد. ( به تفاوت دو تا حرف آندرلاین و همچنین خط فاصله در هر دو کلمه حتماً دقت فرمایید.) تا اینجا من اکثراً از دستور :

dh_make  --createorig
برای فرآیند ''Debianization''  استفاده می‌کردم ، ماحصل این دستور ایجاد پوشه debian در پوشه
سورس و ایجاد فایل orig  در پوشه بالادست بود.

ولی وقتی که از دستور  tar xf برای اکسترکت کردن این فایل orig استفاده می‌کردم ، عوض اینکه به من خروجی،   پوشه ای با محتویات مربوطه بدهد، محتویات فایل orig را در همان پوشه extract می کرد.( عکس 1)

این فایل orig  ساخته شده توسط این روش می لنگید هرچند که فایل deb ایجاد شده‌ام ، مشکلی از لحاظ کارکرد نداشت. ولی بهرحال دوست داشتم این فایل orig هم صحیح‌تر بشود و با فرمان
tar xf  خروجی معقول تری به من بدهد.

ب) مساله دوم برایم این است که در برخی از موارد بایستی برای ساخت فایل deb  ، نام فایل تاربال بایستی تغییر نام داده شود.
شاید این تغییر نام مثلاً به این علت باشد که در نام فایل تاربال حروف بزرگ بکار رفته باشد که در حین استفاده از  dh_make دچار خطا خواهد شد.  فایل   Orchis-theme-2022-05-29.tar.gz  را می‌خواهیم برای ساخت فایل deb استفاده نماییم ،چون حرف بزرگ در نام این فایل بکار رفته است برای اینکار بایستی فکری بکنیم.

سالم ترین روشی که تا به این لحظه برای حل مسایل اینچنینی  پیدا کرده ام بدین صورت است:

۱- ابتدا فایل تاربال را  extract  می کنیم.

۲- پوشه ای جدید و خالی با همان نامی که فایل deb امان را می‌خواهیم نامگذاری شود،ایجاد می نماییم.

۳-محتویات پوشه extract شده را درون پوشه جدید ، کپی می نماییم.

۴- فایل تاربال و پوشه extract  شده از آن را حذف می نماییم و یا بجای دیگری منتقل می نماییم ، چون با این‌ها دیگر کاری نخواهیم داشت.

۵- پوشه  جدیدمان را ، بصورت فایل تاربال در میآوریم.( ترجیحاً بصورت tar.gz )


پس تا اینجا ما  یک پوشه داریم و یک فایل تاربال ایجاد شده از آن.


۶-می رویم به درون پوشه سورس و این دستور را اجرا می کنیم:( عکس 2 )


dh_make -f  ../name_of_TarballFile
مثلاً مال من می شود:

dh_make -f  ../orchis-1.tar.gz
ماحصل این دستور بازهم دو تا است:
الف) ایجاد پوشه debian  با محتویاتش در درون پوشه سورس.
ب) ایجاد فایل orig ،  در پوشه بالایی.( عکس 3 )

برای اطمینان که این فایل orig ، به شکلی که سایت دبیان گفته:

نقل‌قول
Step 2: Unpack the upstream tarball

The source will unpack into a directory of the same name, and upstream version with a hyphen in between (not an underscore), so the upstream tarball should unpack into a directory called "hithere-1.0".

In this case, the tarball already unpacks into the correct subdirectory, so no changes are required.

https://wiki.debian.org/Packaging/Intro?action=show&redirect=IntroDebianPackaging

 در می‌آید یا نه ، این دستور را امتحان می‌کنیم :

tar xf orchis_1.orig.tar.gz
در نام فایل تاربال orig ، از حرف  آندرلاین استفاده شده است و  بعد از استفاده از فرمان  tar xf
همانطور که در عکس 4 ، می‌بینید ، بصورت اتوماتیک پوشه ای با نام  orchis-1   ایجاد شده است.
که در این اسم بصورت اتوماتیک بجای حرف آندرلاین از حرف خط فاصله استفاده شده است ، دقیقاً همانی را که سایت دبیان گفته است ، محقق شده است.


بنظر بنده حقیر از ابتدای کار که فایل تاربال می‌آید بدستمان تا  فرآیند ''Debianization''
 مواردی که در این ارسالی گفتم ، می‌شود گفت آسانترین و بدون دردسرترین روشی است که یک فرد می‌تواند برای ساخت فایل deb در پیش بگیرد.( البته از روش debuild )
البته موارد مربوط به بعد از  ''Debianization''  ، مواردی دیگر را می‌طلبد که نمی‌شود برای آن یک اصول مشخص را گفت ، فرد باید توانایی ویرایش فایل های rules و control و.... را داشته باشد.
هر چند که در ارسالی های  قبلی‌ام  تا حدی به این موارد پرداخته ام .

ولی بهر حال به یاد داشته باشید اگر زمانی خواستید از طریق debuild ، فایل deb بسازید، نیازمند این سه تا هستید:
۱- فایل تاربال ( با نام مناسب)
۲- پوشه اکسترکت شده فایل تاربال ( با نام مناسب)
۳- فایل orig ( تولید شده از راه صحیحش)

که در اینجا به حد کفایت آن‌ها را خدمتتان گفتم.


آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #32 : 07 امرداد 1401، 02:03 ب‌ظ »
ولی بعلت ناشناخته‌ای تنها پوشه Orchis در داخل پوشه themes قرار می‌گیرد و مابقی پوشه ها معلوم نمی‌شود چه می‌شوند !! ( عکس 2 )
مشکل از اون اسکریپت هست که وقتی مسیر رو به صورت نسبی بهش میدن درست کار نمی‌کنه.

نقل‌قول
و فایل rules.sh هم بدین صورت:

#!/usr/bin/make -f

THEMES_DIR=debian/orchis/

build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp

build-stamp:
dh_testdir
touch build-stamp

clean:
dh_testdir
dh_testroot
rm -f build-stamp
dh_clean

install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs

mkdir usr
mkdir usr/share
mkdir usr/share/themes


./install.sh -d /home/a/Documents/orchis-1/usr/share/themes

cp -r usr/share/themes $(THEMES_DIR)
cp -r usr $(THEMES_DIR)
find $(THEMES_DIR) -name COPYING -exec rm '{}' \;
find $(THEMES_DIR) -name gtkrc -exec sed -i 's/gtk-tooltips/gtk-tooltip*/' '{}' \;
# dh_fixperms ignores /usr/share/themes
chmod -R 0644 $(THEMES_DIR);
chmod -R +X $(THEMES_DIR);

binary-indep: build install
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_fixperms
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
این فایل یه مشکلی داره و این هست که اگه این چیز‌ها رو منتقل کنید یه جای دیگه و اونجا بخواهید دوباره بسته deb بسازید، به مشکل می‌خورید.
گزینه بهتر این هست که این خط رو تغییر بدید:
./install.sh -d /home/a/Documents/orchis-1/usr/share/themes
به این:
./install.sh -d $(CURDIR)/usr/share/themes

متغیر CURDIR توی make، به دایرکتوری فعلی که داخلش هستید اشاره می‌کنه. اینجوری اگه همه چیز‌ها رو منتقل کنید به یه مسیر دیگه، باز هم می‌تونید بسته deb رو بسازید.

این خط‌ها رو هم می‌تونید پاک کنید. خود اسکریپت install.sh، دایرکتوری‌های مورد نیاز رو میسازه.
mkdir usr
mkdir udr/share
mkdir usr/share/themes

میشه اون فایل rules رو بهینه‌تر هم کرد.
نحوه کار فایل rules الان اینجوریه که با استفاده از اسکریپت install.sh، فایل‌های تم رو توی یه دایرکتوری، توی جایی که دارید ساختن رو انجام میدید، نصب می‌کنه و بعد اون فایل‌های بدست اومده رو کپی می‌کنه توی دایرکتوری debian/orchis تا بعدا داخل بسته deb قرار بگیره.

می‌تونید از همون اول به اسکریپت install.sh بگید که تم رو توی دایرکتوری درست نصب کنه تا نیازی به کپی مجدد هم نباشه.
برای اینکار، می‌تونید اسکریپت instsll.sh رو به این شکل استفاده کنید:
./install.sh -d $(CURDIR)/$(THEMES_DIR)/usr/share/themes

این خط‌ها رو هم پاک کنید چون نیازی به اونها نمیشه:
cp -r usr/share/themes $(THEMS_DIR)
cp -r usr $(THEMES_DIR)

در نهایت فایل rules به این شکل می‌تونه باشه:
#!/usr/bin/make -f

THEMES_DIR=debian/orchis/

build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp

build-stamp:
dh_testdir
touch build-stamp

clean:
dh_testdir
dh_testroot
rm -f build-stamp
dh_clean

install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs

./install.sh -d $(CURDIR)/$(THEMES_DIR)/usr/share/themes

find $(THEMES_DIR) -name COPYING -exec rm '{}' \;
find $(THEMES_DIR) -name gtkrc -exec sed -i 's/gtk-tooltips/gtk-tooltip*/' '{}' \;
# dh_fixperms ignores /usr/share/themes
chmod -R 0644 $(THEMES_DIR);
chmod -R +X $(THEMES_DIR);

binary-indep: build install
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_fixperms
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install

احتمالا باز هم میشه این فایل rules رو بهبود داد ولی نمی‌دونم چجوری.
میدونید که زکات علم نشر آن است

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #33 : 08 امرداد 1401، 01:33 ق‌ظ »
 آقای  Dragon- ، فایل rules ای که با  متغیر CURDIR   ، نوشتید  ، خیلی بهتر شد.
ولی اشکال بسیار جزیی داشت که در عکس 1 ، نشان داده ام. برای حل آن، بنظرم بهتر است که در تعریف متغیر  ، اسلس آخر را حذف نماییم و متغییر را اینجوری تعریف بنماییم:( در این حالت دیگه دو تا اسلش پشت سرهم نمیشه)

THEMES_DIR=debian/orchis
احتمالا باز هم میشه این فایل rules رو بهبود داد ولی نمی‌دونم چجوری.
با کمک‌هایی که شما تا حالا کرده‌اید ، اینکه کاری نداره.
با استفاده از  آپشن d-  و همچنین متغییر    CURDIR   که معرفی فرمودید ،دیگه نیازی به تقلب از
 بسته murrine-themes  نمی باشد . در این حالت فایل rules  اینطوری می شود:

#!/usr/bin/make -f

THEMES_DIR=debian/orchis



%:
dh $@


override_dh_auto_install:
./install.sh -d $(CURDIR)/$(THEMES_DIR)/usr/share/themes


و نکته مهمتر اینکه با استفاده از این فایل rules ، دیگر debuild   نیازی به استفاده کردن از  sudo ندارد.


آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #34 : 10 امرداد 1401، 10:23 ب‌ظ »
با وجودیکه فایل deb ایجاد شده کار می‌کند ، ولی می‌خواهم تا دستی سر و روی error و warning های قبل از اعلام Finished running lintian بکشم.(عکس 1)
در مورد حل قضیه mail به این صفحه رسیدم:

https://www.debian.org/doc/manuals/debmake-doc/ch03.en.html

ولی چرا در هوم کاربرهایم اصلاً فایلی بنام bashrc/. ~  نمی باشد؟
مثلاً برای بدست آوردن این فایل بروم و مثلاً از لینوکس مینت بصورت لایو این فایل را کپی کنم و بگذارم در هوم کاربرم؟!( عکس 2)

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5124
  • جنسیت : پسر
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #35 : 11 امرداد 1401، 11:36 ب‌ظ »
اگر توسعه‌دهنده نرم افزاری ، فایل orig آن نرم‌افزار را ارایه نکرده است
معمولا توسعه‌دهنده‌ها فایل جدایی رو به عنوان فایل orig ارایه نمی‌کنند. در واقعیت فایل orig همون چیزی هست که توسعه دهنده منتشر کرده و هنوز تغییراتی روی اون اعمال نشده.
بعد از اینکه فایل‌های لازم برای ساخت بسته deb به کد منبع منتشر شده اضافه میشه و تغییرات لازم روی کد منبع رو هم انچام میدن، یه بسته source دبیان ایجاد می‌کنند.

نقل‌قول
در ضمن در اینجا راهکار صحیح تر  تغییر نام فایل  تاربال را برای ساخت فایل deb به شما خواهم گفت. تا بعداً دچار مشکل نشوید. هر چند که فایل deb ای که با روشهای قبلی گفته‌ام کار می‌کند و مشکلی ندارد ولی در ریز ریز مطلب  ، راهکار پایینی برای تغییر نام پوشه تاربال به نام مورد نظر بهتر می باشد.
این تغییر نام در بیشتر مواقع لازم نیست. برای مورد orchis، اسم مناسب نبوده و لازم شده اسم رو عوض کنید.

ولی چرا در هوم کاربرهایم اصلاً فایلی بنام bashrc/. ~  نمی باشد؟
مثلاً برای بدست آوردن این فایل بروم و مثلاً از لینوکس مینت بصورت لایو این فایل را کپی کنم و بگذارم در هوم کاربرم؟!( عکس 2)
اسم اون فایل bashrc. هست. یه نقطه اول اسمش داره. اگه واقعا همچنین فایلی اونجا نیست، می‌تونید یه نسخه از اون رو توی این دایرکتوری پیدا کنید:
/etc/skel/
میدونید که زکات علم نشر آن است

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #36 : 12 امرداد 1401، 12:35 ق‌ظ »
از تمامی error ها و warning ها ، تنها این یکی موند روی دستم:

نقل‌قول
W: orchis: initial-upload-closes-no-bugs

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19720
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #37 : 12 امرداد 1401، 10:39 ب‌ظ »
باید یه باگ ITP براش باز کنی که اون‌رو ببنده
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #38 : 13 امرداد 1401، 11:26 ب‌ظ »
بصورت دستی فایل  changelog  را ویرایش کردم و هشدار مربوطه دیگر نیامد.(عکس 1 )
فایل  changelog قبل از ویرایش :

orchis (1-1) unstable; urgency=medium

  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>

 -- a a <mytest@gmail.com>  Thu, 04 Aug 2022 22:56:08 +0430

فایل changelog  بعد از ویرایش:

orchis (1-1) unstable; urgency=medium

  * Initial release    closes: #123456

 -- a a <mytest@gmail.com>  Thu, 04 Aug 2022 12:10:37 +0430

اگر بخواهم اینکار را بصورت دستی انجام ندهم و بصورت اتوماتیک اینکار صورت بپذیرد ، چه دستوری را بایستی بکار ببرم؟



مورد بعدی این است که در بسته murrine-themes-0.98.11  که در مخازن اصلی دبیان است ، اگر به فایل copyright توجه کنیم ( عکس 2) ، سطری بدین مضمون وجود دارد:

Copyright (C) 2007-2009 by Yves-Alexis Perez <corsac@debian.org>
این copyright از کجا برای این بسته صادر شده است؟ از گروه دبیان صادر شده یا از  جای دیگر؟
آیا گروه دبیان اجازه می دهند که بسته ای فاقد copyright  و تنها با لایسنس  gpl  در مخازن رسمی قرار بگیرد؟
اگر چنین اجازه ای نمی دهند، مجوز این بسته مربوط به 2007-2009  است که خیلی وقت است که زمانش منقضی شده است ، پس چرا همچنان در مخازن اصلی این بسته قرار دارد بدون آنکه مجوزش تمدید شده باشد؟!


مثلاً اگر بالفرض مالک  Orchis-theme  به آدرس :

https://github.com/vinceliuice/Orchis-theme

 از من درخواست ساخت فایل deb برای قرار دادن در کنار فایل سورس در صفحه گیتهابش نموده باشد ، اینجا من برای ساخت فایل deb  به مشکل بر می خورم. من بایستی برای فایل copyright  در پوشه debian مانند مثال بالا سطری را اختصاص به شروع و انقضا مدت copyright بنمایم. ولی  هیچ نوشته‌ای مبنی بر copyright و همچنین  زمان مندرج بر copyright  اعم از زمان شروع و انقضا مدت آن در فایل‌های موجود در گیتهاب مربوط به این بسته  نمی یابم.
تنها این نوشته وجود دارد:
GPL-3.0 license


آیا در آنجا مطلبی مربوط به copyright هست ولی من نمی بینم؟
آیا زمانی که copyright مربوط به یک بسته نیست، بایستی ابتدا به copyright  اقدام شود و سپس اقدام به ساخت و قرار دهی فایل deb مربوط به آن بسته در گیتهاب نمود؟ 
آیا زمانی که copyright مربوط به یک بسته نیست، همین‌طوری برای اینکه lintian خطا و یا هشدار ندهد ، الکی در رابطه با copyright یک چیزهایی بنویسیم، چون که نمی‌خواهیم در مخازن رسمی دبیان قرار بدهیم بلکه می‌خواهیم در گیتهاب قرار بدهیم ، بنابراین الکی نوشتن اشکالی ندارد؟
بطور کلی برای صدور  copyright  و مدت زمان صدور و انقضا آن آیا گروه دبیان این کار را می‌کنند ؟ یا اصلاً copyright را کی صادر می کند؟
آیا من می‌توانم این فایل deb ایجاد شده‌ توسط خودم ولی از بسته ای که متعلق به دیگری است( و با مجوزGPL-3.0 license   انتشار یافته   )  در  صفحه‌ای متعلق به خودم در گیتهاب  بدون هیچگونه مجوزی از مالک این بسته در آنجا قرار بدهم؟
آیا فایل deb ایجاد شده‌ام یک fork از بسته اصلی حساب می شود؟


آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #39 : 15 امرداد 1401، 02:04 ق‌ظ »
مطالب پایین نمی‌دانم کاملا درست هستند یا نه؟ تا همین حد فعلاً از دستم برمی آید و تا این حدود این مسایل را استنباط می کنم.

در رابطه با کپی رایت (یا حق مؤلف) یک اصطلاح حقوقی است که برای توصیف حقوقی که پدیدآورندگان بر آثار ادبی و هنری خود دارند استفاده می شود. ساده‌ترین واژه قابل فهمی که من می‌توانم برایش متصور شوم ، واژه مالکیت است.
در فایل copyright ، دو تا واژه بیشتر به چشم می‌خورد: Copyright  و  License  .
مثلاً اتومبیلی را خریده ایم ، در اینجا مالک اتومبیل من هستم ، می‌روم به یک آژانس اینترنتی تا ثبت نام کنم، آن‌ها مجوز کار در آژانس اینترنتی را برایم صادر می‌کنند. این مجوز دارای ضوابطی است که بایستی رعایت بکنم ، مثلاً بیش از سه مسافر سوار نکنم.
در اینجا مالک اتومبیل به مفهوم copyright است و  آژانس اینترنتی و ضوابط آن‌ها یعنی License  .
مثال دیگر مثلاً من نرم افزاری را ساخته‌ام ، مالک نرم‌افزار من هستم ولی اینکه نحوه بهره برداری  از نرم افزارم را به دیگران چگونه بدهم می‌شود لایسنس.
با دادن حتی GPL-3.0 license   به نرم افزارم که دیگران به راحتی از نرم افزارم استفاده کنند ، مالکیت من بر نرم افزارم از بین نمی‌رود. حتی بعداً می‌توانم این مجوز را از روی نرم افزارم بردارم، چون مالک نرم افزارم هستم.

این copyright از کجا برای این بسته صادر شده است؟ از گروه دبیان صادر شده یا از  جای دیگر؟
تا آنجایی که من فهمیدم برای نرم‌افزارها ، مخصوصاً آن‌هایی که با مجوز ( Licens ) هایی مانند:
GPL  و  LGPL  و AGPL  و  The Clear BSD License  و CeCILL version 2  و..... منتشر می شوند، نیازی نیست که طرف برود و در جایی حق کپی رایت بگیرد، همین که طرف در یک مخزن عمومی مانند گیتهاب و ... برنامه اش را در معرض دید عموم قرار می دهد، این می‌شود برایش کپی رایت.
البته کار به جاهای باریک‌تر قضایا و دعاوی حقوقی قضیه ندارم.

پس من اینطوری می فهم که برای این بسته از جایی برایش کپی رایت صادر نشده است.
از گروه دبیان هم صادر نشده است. گروه دبیان کپی رایت صادر نمی‌کند.

آیا گروه دبیان اجازه می دهند که بسته ای فاقد copyright  و تنها با لایسنس  gpl  در مخازن رسمی قرار بگیرد؟
هر بسته ای وقتی که تولید می‌شود ، بصورت اتوماتیک وار ، کپی رایت یا همان حق مالکیت آن بسته مال تولید کننده آن بسته است، و با این اوصاف کمتر می‌شود  بسته ای را متصور شد که صاحب نداشته باشد یعنی در‌واقع کپی رایت نداشته باشد، پس بصورت طبیعی هر بسته ای  دارای مالکی است که کپی رایت مال اوست.


اگر چنین اجازه ای نمی دهند، مجوز این بسته مربوط به 2007-2009  است که خیلی وقت است که زمانش منقضی شده است ، پس چرا همچنان در مخازن اصلی این بسته قرار دارد بدون آنکه مجوزش تمدید شده باشد؟!

من این قضیه  2007-2009  را درست متوجه نشده بودم. من بصورت اشتباهی اینطور فکر می‌کردم که این جمله می‌گوید که مالکیت این نرم‌افزار از سال 2007 تا 2009 مال این آقا است.
و برای تاریخ های بعدی نرفته که مجوز کپی رایت بگیرد ، ولی اصل این قضیه اینطوری است:

نقل‌قول
The copyright notice

The copyright notice should include the year in which you finished preparing the release (so if you finished it in 1998 but didn't post it until 1999, use 1998). You should add the proper year for each past release; for example, “Copyright 1998, 1999 Terry Jones” if some releases were finished in 1998 and some were finished in 1999. If several people helped write the code, use all their names.

For software with several releases over multiple years, it's okay to use a range (“2008-2010”) instead of listing individual years (“2008, 2009, 2010”) if and only if every year in the range, inclusive, really is a “copyrightable” year that would be listed individually; and you make an explicit statement in your documentation about this usage.

Always use the English word “Copyright”; by international convention, this is used worldwide, even for material in other languages. The copyright symbol “©” can be included if you wish (and your character set supports it), but it's not necessary. There is no legal significance to using the three-character sequence “(C)”, but it does no harm.

If you have copied code from other programs covered by the same license, copy their copyright notices too. Put all the copyright notices for a file together, right near the top of the file.

https://www.gnu.org/licenses/gpl-howto.html

یعنی اینکه آین آقا در سالهای 2007 و 2008 و 2009 ، برای هر کدام از این سالها یک نسخه‌ای  جدید از این برنامه را تولید کرده و به بیرون داده است.



آیا در آنجا مطلبی مربوط به copyright هست ولی من نمی بینم؟
آیا زمانی که copyright مربوط به یک بسته نیست، بایستی ابتدا به copyright  اقدام شود و سپس اقدام به ساخت و قرار دهی فایل deb مربوط به آن بسته در گیتهاب نمود؟

اصلاً قرار نیست که فرد در رابطه با کپی رایت در کنار فایل‌های نرم افزارش چیزی بنویسد.همین که این فرد ، نسخه‌ای از نرم افزارش را در گیتهاب قرار می‌دهد ، این برایش کپی رایت است.


آیا زمانی که copyright مربوط به یک بسته نیست، همین‌طوری برای اینکه lintian خطا و یا هشدار ندهد ، الکی در رابطه با copyright یک چیزهایی بنویسیم، چون که نمی‌خواهیم در مخازن رسمی دبیان قرار بدهیم بلکه می‌خواهیم در گیتهاب قرار بدهیم ، بنابراین الکی نوشتن اشکالی ندارد؟
نیازی به الکی نوشتن نیست، برویم وببینیم که برای چه سالهایی نسخه هایی  از نرم‌افزار به بیرون داده شده است ، این می‌شود سالهای مربوط به کپی رایت .
مثلاً برای همین orchis-theme می‌شود : 
Copyright (C) 2021-2022


بطور کلی برای صدور  copyright  و مدت زمان صدور و انقضا آن آیا گروه دبیان این کار را می‌کنند ؟ یا اصلاً copyright را کی صادر می کند؟

نه ، تولید یک نرم‌افزار  و یا قرار دادن آن در یک مخزن عمومی ، عین کپی رایت است.

آیا من می‌توانم این فایل deb ایجاد شده‌ توسط خودم ولی از بسته ای که متعلق به دیگری است( و با مجوزGPL-3.0 license   انتشار یافته   )  در  صفحه‌ای متعلق به خودم در گیتهاب  بدون هیچگونه مجوزی از مالک این بسته در آنجا قرار بدهم؟

خیر، تنها می‌توانم در همان گیتهاب از آن fork کنم و اگر در جای دیگری استفاده می کنم حتما بگویم که از کجا این کدها را برداشته ام و آدرس دقیق بدهم.

آیا فایل deb ایجاد شده‌ام یک fork از بسته اصلی حساب می شود؟

اگر من در گیتهاب صفحه‌ای برای خودم باز کنم و از بسته مورد نظرم  یک فورک به صفحه خودم ایجاد کنم و بعد در صفحه خودم فایل deb مربوط به این بسته را قرار بدهم بنظرم یک فورک حساب می‌شود.


نکته : البته بنیادی بنام   The Free Software Foundation (FSF)   وجود دارد که برخی از  توسعه دهندگان ، حق کپی رایت نرم افزارهایشان را به این بنیاد اعطا می‌کنند.
نکته : اگر بخواهید فایل مربوط به کپی رایت بسته هایی که بر روی سیستمتان نصب شده است را مطالعه کنید به این مسیر بروید:
usrshare/doc/
نکته: تا جایی که متوجه می‌شوم ، برای گروه دبیان مهمترین چیز مربوط به یک بسته ، لایسنس آن بسته است ، اینکه کپی رایت آن بسته مال چه کسی است ، احتمال دارد مال یک شخص باشد.
نکته:تا جایی که متوجه می‌شوم ، بنیاد FSF در مورد کپی رایت های اهدایی به بنیاد کمال دقت را دارد تا حتی به اولین تولید کنند آن نرم‌افزار برسد و از آن‌ها هم مجوز اهدا کپی رایت را بگیرد.


آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19720
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #40 : 15 امرداد 1401، 11:49 ق‌ظ »
کسی یا جایی کپی‌رایت «صادر» نمی‌کنه. حق رونوشت یه حقه که از ابتدا وجود داره.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین norouzi90

  • Hero Member
  • *
  • ارسال: 784
  • جنسیت : پسر
  • Debian + Mate
پاسخ : معرفی استایل و آیکن و فونت
« پاسخ #41 : 17 امرداد 1401، 11:47 ب‌ظ »
در اینجا برای بار آخر فایل Orchis-theme-2022-05-29.tar.gz  ، را بصورت مرحله به مرحله بصورت فایل deb در می آورم.
البته بدون هیچگونه error و warning.
در مورد ویرایش فایل هایی مانند control یادتان نرود که در جاهایی که لازم است از tab استفاده نمایید نه از چند تا space و یا کپی کردن فاصله.
 برای مخازن رسمی اگر خواستید فایل deb بسازید ، ویرایش های بیشتری در فایل هایی مانند copyright و ... باید انجام دهید.
( اگر موردی بعدا بنظرم  برای اصلاح پیش آمد نسبت به این فایل ، در همین ارسالی برمی گردم و آنرا اصلاح خواهم کرد و ارسال جدیدی دیگر برای این فایل نخواهم داشت.)

1)
cp /etc/skel/.bashrc  ~/or
touch ~/.bashrc
2)
nano ~/.bashrcDEBEMAIL="mytest@gmail.com"
DEBFULLNAME="a b"
export DEBEMAIL DEBFULLNAME

( I used "a" for my first name and "b" for my last name )

3)
cp /home/a/Downloads/Orchis-theme-2022-05-29.tar.gz ~/Templates
4)
cd ~/Templates
5)
tar xf Orchis-theme-2022-05-29.tar.gz
6)
mkdir orchis-1
7)
cp -r Orchis-theme-2022-05-29/. orchis-1
8 )
tar -czvf orchis-1.tar.gz orchis-1
9)
rm -r Orchis-theme-2022-05-29  Orchis-theme-2022-05-29.tar.gz
10)
cd orchis-1
11)
dh_make -f ../orchis-1.tar.gz
12)
cd debian
13)
rm -r README.Debian
14)
nano rules
#!/usr/bin/make -f


THEMES_DIR=debian/orchis


%:
        dh $@


override_dh_auto_install:
        ./install.sh -d $(CURDIR)/$(THEMES_DIR)/usr/share/themes


15)
nano copyright
Copyright:
Copyright (C) 2021-2022 by Vince vinceliuice <https://www.pling.com/u/vinceliuice/>


16)
nano control
Source: orchis
Section: x11
Priority: optional
Maintainer: a b <mytest@gmail.com>
Build-Depends: debhelper-compat (= 13)
Standards-Version: 4.5.1
#Vcs-Browser: https://salsa.debian.org/debian/orchis
#Vcs-Git: https://salsa.debian.org/debian/orchis.git
Rules-Requires-Root: no

Package: orchis
Architecture: any
Depends:
 gnome-themes-extra,
 gtk2-engines-murrine (>= 0.98),
 sassc,
 ${misc:Depends}
Description: This is a [Material Design](https://material.io) theme for GNOME/GTK
 based desktop environments.
 Based on nana-4 --  [materia-theme](https://github.com/nana-4/materia-theme).


17)
nano changelog
orchis (1-1) unstable; urgency=medium

  * Initial release    closes: #123456

 -- a b <mytest@gmail.com>  Sun, 07 Aug 2022 10:05:27 +0430


18)
cd ..
19)
debuild -uc -us -b -d