Hello,

Svante Signell, le mar. 25 janv. 2022 16:15:46 +0100, a ecrit:
> make[3]: Entering directory '/home/.../hurd-0.9.git20211230/build-deb/
> libshouldbeinlibc'
> mkdir /home
> mkdir: cannot create directory ‘/home’: File exists
> mkdir /home/.../hurd-0.9.git20211230/debian/tmp/lib
> mkdir /home/.../hurd-0.9.git20211230/debian/tmp/lib/i386-gnu

Is this really unmodified source code? I don't see how there could be an

mkdir /home

triggered by the build rules you are patching:

> --- a/Makeconf        2022-01-25 10:57:58.000000000 +0100
> +++ b/Makeconf        2022-01-25 10:57:41.000000000 +0100
> @@ -240,7 +240,7 @@
>  all: $(install-targets)
>  install: $(DESTDIR)$(installationdir) $(addprefix 
> $(DESTDIR)$(installationdir)/,$(install-targets))
>  $(DESTDIR)$(installationdir):
> -     @$(MKINSTALLDIRS) $@
> +     -@$(MKINSTALLDIRS) $@
>  $(addprefix $(DESTDIR)$(installationdir)/,$(installable)): 
> $(DESTDIR)$(installationdir)/%: %
>       $(INSTALL_PROGRAM) $(INSTALL-$<-ops) $< $@
>  else
> @@ -255,7 +255,7 @@
>  install-headers: $(DESTDIR)$(includedir)/$(installhdrsubdir) $(addprefix 
> $(DESTDIR)$(includedir)/$(installhdrsubdir)/,$(installhdrs))
>  
>  $(DESTDIR)$(includedir)/$(installhdrsubdir): $(DESTDIR)$(includedir)
> -     @$(MKINSTALLDIRS) $@
> +     -@$(MKINSTALLDIRS) $@
>  
>  # Arrange to have the headers installed locally anytime we build the library.
>  # Not quite perfect, but at least it does end up getting done; and once done
> @@ -304,7 +304,7 @@
>  
>  # Making installation directories
>  $(addprefix $(DESTDIR),$(installationdirlist)): %:
> -     @$(MKINSTALLDIRS) $@
> +     -@$(MKINSTALLDIRS) $@
>  
>  # Building the target
>  ifneq ($(makemode),misc)

None of these are to be /home

> --- a/mkinstalldirs   2021-12-30 15:16:15.000000000 +0100
> +++ b/mkinstalldirs   2022-01-25 15:41:19.000000000 +0100
> @@ -22,9 +22,9 @@
>       esac
>  
>       if test ! -d "$pathcomp"; then
> -        echo "mkdir $pathcomp" 1>&2
> +        echo "mkdir -p $pathcomp" 1>&2
>  
> -        mkdir "$pathcomp" || lasterr=$?
> +        mkdir -p "$pathcomp" || lasterr=$?
>  
>          if test ! -d "$pathcomp"; then
>         errstatus=$lasterr

The -d test just above makes it so that since /home already exists, no
mkdir would be called.


> make[3]: Entering directory '/<<PKGBUILDDIR>>/build-
> deb/libshouldbeinlibc'
> mkdir /<<PKGBUILDDIR>>/debian/tmp/lib
> mkdir /<<PKGBUILDDIR>>/debian/tmp/lib/i386-gnu
> mkdir /<<PKGBUILDDIR>>/debian/tmp/usr
> mkdir /<<PKGBUILDDIR>>/debian/tmp/usr/include

Here there is not even an "mkdir" printed, so it's not the patch that
fixed it, but something else, which is what you should rather be after.

I'd say revert your patch, and check e.g. with stat why exactly the

"test ! -d $pathcomp"

wouldn't say that /home is already a directory.

And check with e.g. echo what rule exactly produces such

mkdir /home 

on your system, there is really no reason for it to be there.

Samuel

Reply via email to