Woops. Now with the patch.
On Tue, Apr 08, 2025 at 09:11:54PM +0200, João Pedro Malhado wrote: > Hello Samuel, > > On Sun, Apr 06, 2025 at 06:41:39PM +0200, Samuel Thibault wrote: > > João, le sam. 05 avril 2025 18:20:24 +0200, a ecrit: > > > During package configuration some packages fail, which I assumed was > > > related to the state of unstable, or some issue resolving dependencies? > > > > I don't know, I'd need to see the logs. > > The failure I got was the same as the one you are seeing in salsa tests > https://salsa.debian.org/hurd-team/crosshurd/-/jobs/7386073 > > With the following patch I get native-install to finish and get to a login > console of the installed system. > > The patch instals packages with priority important after those with priority > required, and before everything else. This seems a bit arbitrary, but I > suppose > there is no way to tell dpkg (or apt?) a good order to install packages. > > The fstab tab that was being produced was messed up, maybe because fsysopts > output has changed. The patch works for me, but again it seems a bit fragile. > > Also in the patch a change in the apt options to suppress a warning due to > force-yes option. > And sysvinit-core needs to be explicitly installed. > > At the end of all this I cannot login because I have never set any users or > passwords :D Is there a default root password? > > Best regards, > João
diff -ruN crosshurd/functions crosshurd_mod/functions --- crosshurd/functions 2023-05-19 21:09:41.000000000 +0200 +++ crosshurd_mod/functions 2025-04-08 20:55:08.468256914 +0200 @@ -5,7 +5,7 @@ esac DEB_TARGET_ARCH=`dpkg-architecture -t$DEB_TARGET_GNU_TYPE -qDEB_HOST_ARCH` -apt_options="--option Dir::Etc::SourceList=$TARGET/etc/apt/sources.list --option Dir::State::Lists=$TARGET/var/cache/apt/lists --option Debug::Nolocking=true --option APT::Architecture=$DEB_TARGET_ARCH --option APT::Architectures=$DEB_TARGET_ARCH --option Dir::Cache::archives=$TARGET/var/cache/apt/archives --option APT::Get::Force-Yes=true --option APT::Get::Download-Only=true --option Dir::State::status=$TARGET/var/lib/dpkg/status --option Dir::Etc::Preferences=$TARGET/etc/apt/preferences --option debug::pkgproblemresolver=1 --option Dir::Etc::Sourceparts=/nonexistant --option APT::Default-Release=$RELEASE" +apt_options="--option Dir::Etc::SourceList=$TARGET/etc/apt/sources.list --option Dir::State::Lists=$TARGET/var/cache/apt/lists --option Debug::Nolocking=true --option APT::Architecture=$DEB_TARGET_ARCH --option APT::Architectures=$DEB_TARGET_ARCH --option Dir::Cache::archives=$TARGET/var/cache/apt/archives --option APT::Get::Allow-change-held-packages=true --option APT::Get::Download-Only=true --option Dir::State::status=$TARGET/var/lib/dpkg/status --option Dir::Etc::Preferences=$TARGET/etc/apt/preferences --option debug::pkgproblemresolver=1 --option Dir::Etc::Sourceparts=/nonexistant --option APT::Default-Release=$RELEASE" DEBFOR=apt_debfor diff -ruN crosshurd/native-install/native-install crosshurd_mod/native-install/native-install --- crosshurd/native-install/native-install 2024-12-30 01:35:17.000000000 +0100 +++ crosshurd_mod/native-install/native-install 2025-04-08 20:54:49.116160952 +0200 @@ -153,6 +153,11 @@ dpkg-deb --field $i Priority | grep ^required > /dev/null \ && dpkg --force-depends --skip-same-version --unpack $i done +# try to prioritise installation of packages with priority important +for i in /var/cache/apt/archives/*.deb ; do + dpkg-deb --field $i Priority | grep ^important > /dev/null \ + && dpkg --force-depends --skip-same-version --unpack $i +done dpkg --force-depends --skip-same-version --unpack /var/cache/apt/archives/insserv_*.deb dpkg --configure --pending --force-configure-any --force-depends if ! test -e ${ssd}.real ; then mv ${ssd}{,.real} ; fi @@ -184,8 +189,8 @@ fi # fstab stuff - fstype=`fsysopts / | perl -ne 'm!^.*/hurd/(.*?)\.static.*?([^\s]+)\s*?$!; print $1;'` - rootpart=`fsysopts / | perl -ne 'm!^.*/hurd/(.*?)\.static.*?([^\s]+)\s*?$!; print $2;' | sed -e "s/^device\://"` + fstype=`fsysopts / | sed -e 's/\s.*$//'` + rootpart=`fsysopts / | sed -e 's/.*part\:\(.*\)\:device\:\(.*\)/\2s\1/'` if [ ! -e /dev/${rootpart} ] ; then cd /dev bash ./MAKEDEV ${rootpart} || true diff -ruN crosshurd/packages/gnu crosshurd_mod/packages/gnu --- crosshurd/packages/gnu 2024-12-30 01:35:17.000000000 +0100 +++ crosshurd_mod/packages/gnu 2025-04-08 20:55:52.644475972 +0200 @@ -5,3 +5,4 @@ libc0.3 libc-bin inetutils-tools +sysvinit-core