FS#14625 - [mkinitcpio] Missing dependency: file

Attached to Project: Arch Linux
Opened by Kenni Lund (Kenni) - Thursday, 07 May 2009, 21:19 GMT
Last edited by Tobias Powalowski (tpowa) - Sunday, 31 May 2009, 13:20 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To Tobias Powalowski (tpowa)
Aaron Griffin (phrakture)
Thomas Bächler (brain0)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
The package "file" should be added as dependency to mdadm or mkinitcpio. As described in http://www.archlinux.org/pipermail/arch-dev-public/2009-March/010567.html I changed the mkinitcpio hook "raid-partitions" to "mdadm". But this results in an error, as the command "file" is required, which wasn't installed on my system:

---
>>> Generating initial ramdisk, using mkinitcpio. Please wait...
==> Building image "default"
==> Running command: /sbin/mkinitcpio -k 2.6.29-ARCH -c /etc/mkinitcpio.conf -g /boot/kernel26.img
:: Begin dry run
:: Parsing hook [base]
:: Parsing hook [udev]
:: Parsing hook [autodetect]
:: Parsing hook [pata]
:: Parsing hook [scsi]
:: Parsing hook [sata]
:: Parsing hook [mdadm]
Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays.
/lib/initcpio/functions: line 186: file: command not found
ERROR: unknown type '' for binary '/sbin/mdassemble.static'
:: Parsing hook [usbinput]
:: Parsing hook [keymap]
:: Parsing hook [filesystems]
:: Generating module dependencies
:: Generating image '/boot/kernel26.img'...SUCCESS
==> SUCCESS
---

Additional info:
mdadm 2.6.9-1
mkinitcpio 0.5.23-1
kernel26 2.6.29.2-1
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Sunday, 31 May 2009, 13:20 GMT
Reason for closing:  Fixed
Comment by Eric Belanger (Snowman) - Thursday, 07 May 2009, 23:50 GMT
file is part of the base group. It is assumed that everyone as base installed.
Comment by Kenni Lund (Kenni) - Friday, 08 May 2009, 07:37 GMT
In that case, shouldn't the file package (and all other packages in base/core) be marked as "explicitly installed" in the pacman database? Otherwise I suppose that things will break when you tell pacman or yaourt to remove dependencies which are not needed anymore.

I did a core install to begin with, it seems like the file package was removed when it was marked as an unneeded dependency.
Comment by Eric Belanger (Snowman) - Friday, 08 May 2009, 07:56 GMT
The correct fix is to add it as a depends. mkinitcpio already has depends on other core packages so I don't think it would be a problem.

You need to be carefull when removing these "unneeded dependency" and check what they are. Problably other core packages would fall in the same category than file. Here, file is listed as "Explicitly installed". Maybe you didn't installed all of base when you installed Arch. Running 'pacman -S base' will make them listed as "Explicitly installed".
Comment by Kenni Lund (Kenni) - Friday, 08 May 2009, 08:23 GMT
I agree that adding it as a dependency would be the best fix.

But I wonder how "file" ended up as a unneeded dependency on my system. I never unselect packages from base on initial install and I surely didn't do it on this install to save a few MBs, as the system has a 3TB RAID array. However, it is a quite old installation from 2007, so something must have gone wrong down the path.
Comment by Tobias Powalowski (tpowa) - Saturday, 23 May 2009, 17:48 GMT
added file depend to trunk svn

Loading...