MAKEREPROPKG(1)   MAKEREPROPKG(1)

makerepropkg - بازسازی یک بسته برای بررسی بازتولیدپذیر بودن آن

makerepropkg [OPTIONS] [<package_file|pkgname>...]

با دریافت مسیر یک یا چند بستهٔ ساخته‌شدهٔ pacman، تلاش می‌کند تا آن را با استفاده از PKGBUILD موجود در دایرکتوری جاری بازسازی کند. بسته در محیطی ساخته خواهد شد که تا جای ممکن با محیط بستهٔ اولیه مطابقت دارد؛ این کار با ایجاد یک chroot منطبق بر اطلاعات ارائه‌شده در مانیفست BUILDINFO(5) بسته انجام می‌شود. در صورت موفقیت، بستهٔ حاصل با بستهٔ ورودی مقایسه خواهد شد و makerepropkg گزارش می‌دهد که آیا مصنوعات ساخت یکسان هستند یا خیر.

هنگامی که چندین بسته مشخص شوند، فایل‌های بستهٔ اضافی به عنوان بسته‌های تفکیک‌شده (split packages) فرض می‌شوند و در طول مرحلهٔ اعتبارسنجی به عنوان مصنوعات اضافی برای مقایسه در نظر گرفته خواهند شد.

می‌توان به جای آن، یک یا چند هدف معتبر برای pacman -S مشخص کرد، و makerepropkg در صورت نیاز آن را در حافظهٔ موقت (کَش) بارگیری خواهد کرد. این ویژگی بیشتر برای مشخص کردن مخزن مورد نظر جهت دریافت بسته کاربرد دارد. اگر هیچ آرگومان موضعی مشخص نشود، هدف‌ها از PKGBUILD استخراج خواهند شد.

در هر دو حالت، نام بسته به نام یک فایل از حافظهٔ موقت (کَش) تبدیل می‌شود و makerepropkg به‌گونه‌ای عمل خواهد کرد که گویی این نام فایل از ابتدا مشخص شده بود.

این ابزار، یک اعتبارسنج برای بسته‌های pacman / libalpm مطابق با پروژهٔ Reproducible Builds https://reproducible-builds.org پیاده‌سازی می‌کند.

-d

اگر بسته‌ها بازتولیدپذیر نباشند، آن‌ها را با استفاده از diffoscope مقایسه می‌کند.

-n

تابع check() را در PKGBUILD اجرا نمی‌کند.

-c

تنظیم دایرکتوری حافظهٔ موقت (کَش) pacman.

-M <file>

محل فایل پیکربندی makepkg. موارد اضافی خاص (مانند فلگ‌های ساخت برای زبان‌های اضافی) را می‌توان در <file>.d/*.conf قرار داد.

-l <chroot>

نام دایرکتوری مورد استفاده به عنوان فضای نام برای chroot. مناسب برای نگهداری چندین نسخه. پیش‌فرض: $USER

-h

نمایش پیام نحوهٔ استفاده از دستور.

diffoscope(1), pacman(8), makepkg(8), PKGBUILD(5), BUILDINFO(5)

https://gitlab.archlinux.org/archlinux/devtools

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

2026-06-21