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

Reply via email to