summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac4
-rw-r--r--solenv/bin/modules/installer/epmfile.pm19
-rw-r--r--sysui/CustomTarget_deb.mk5
3 files changed, 10 insertions, 18 deletions
diff --git a/configure.ac b/configure.ac
index f18fa31dce5d..74a0a4e6844b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7296,6 +7296,10 @@ if test "$enable_epm" = "yes"; then
if test "$DPKG" = "no"; then
AC_MSG_ERROR([dpkg needed for deb creation. Install dpkg.])
fi
+ AC_PATH_PROG(FAKEROOT, fakeroot, no)
+ if test "$FAKEROOT" = "no"; then
+ AC_MSG_ERROR([fakeroot needed for deb creation. Install fakeroot.])
+ fi
fi
if echo "$PKGFORMAT" | $EGREP rpm 2>&1 >/dev/null || \
echo "$PKGFORMAT" | $EGREP pkg 2>&1 >/dev/null; then
diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm
index eabab4cd05ae..bc6a76ccf44d 100644
--- a/solenv/bin/modules/installer/epmfile.pm
+++ b/solenv/bin/modules/installer/epmfile.pm
@@ -789,17 +789,6 @@ sub set_patch_state
}
#################################################
-# LD_PRELOAD string for Debian packages
-#################################################
-
-sub get_ld_preload_string
-{
- my $getuidlibrary = $ENV{'WORKDIR'} . '/LinkTarget/Library/libgetuid.so';
- if ( ! -e $getuidlibrary ) { installer::exiter::exit_program("File $getuidlibrary does not exist!", "get_ld_preload_string"); }
- return 'LD_PRELOAD=' . $getuidlibrary;
-}
-
-#################################################
# Calling epm to create the installation sets
#################################################
@@ -818,11 +807,11 @@ sub call_epm
my $outdirstring = "";
if ( $installer::globals::epmoutpath ne "" ) { $outdirstring = " --output-dir $installer::globals::epmoutpath"; }
- # Debian package build needs a LD_PRELOAD for correct rights
+ # Debian package build needs to be run with fakeroot for correct ownerships/permissions
- my $ldpreloadstring = "";
+ my $fakerootstring = "";
- if ( $installer::globals::debian ) { $ldpreloadstring = get_ld_preload_string($includepatharrayref) . " "; }
+ if ( $installer::globals::debian ) { $fakerootstring = "fakeroot "; }
my $extraflags = "";
if ($ENV{'EPM_FLAGS'}) { $extraflags = $ENV{'EPM_FLAGS'}; }
@@ -832,7 +821,7 @@ sub call_epm
my $verboseflag = "-v";
if ( ! $installer::globals::quiet ) { $verboseflag = "-v2"; };
- my $systemcall = $ldpreloadstring . $epmname . " -f " . $packageformat . " " . $extraflags . " " . $localpackagename . " " . $epmlistfilename . $outdirstring . " " . $verboseflag . " " . " 2\>\&1 |";
+ my $systemcall = $fakerootstring . $epmname . " -f " . $packageformat . " " . $extraflags . " " . $localpackagename . " " . $epmlistfilename . $outdirstring . " " . $verboseflag . " " . " 2\>\&1 |";
installer::logger::print_message( "... $systemcall ...\n" );
diff --git a/sysui/CustomTarget_deb.mk b/sysui/CustomTarget_deb.mk
index 8a48894177aa..dd75ee913c62 100644
--- a/sysui/CustomTarget_deb.mk
+++ b/sysui/CustomTarget_deb.mk
@@ -60,13 +60,12 @@ $(deb_WORKDIR)/%/DEBIAN/control: $(deb_SRCDIR)/control $(call gb_CustomTarget_ge
echo "Version: $(PKGVERSION)-$(LIBO_VERSION_PATCH)" >>$@
du -k -s $(deb_WORKDIR)/$* | $(gb_AWK) -F ' ' '{ printf "Installed-Size: %s\n", $$1 ; }' >>$@
-$(deb_WORKDIR)/%$(PKGVERSIONSHORT)-debian-menus_$(PKGVERSION)-$(LIBO_VERSION_PATCH)_all.deb: $(deb_WORKDIR)/%/DEBIAN/postrm $(deb_WORKDIR)/%/DEBIAN/postinst $(deb_WORKDIR)/%/DEBIAN/prerm $(deb_WORKDIR)/%/DEBIAN/control $(call gb_Library_get_target,getuid)
+$(deb_WORKDIR)/%$(PKGVERSIONSHORT)-debian-menus_$(PKGVERSION)-$(LIBO_VERSION_PATCH)_all.deb: $(deb_WORKDIR)/%/DEBIAN/postrm $(deb_WORKDIR)/%/DEBIAN/postinst $(deb_WORKDIR)/%/DEBIAN/prerm $(deb_WORKDIR)/%/DEBIAN/control
chmod -R g-w $(deb_WORKDIR)/$*
chmod a+rx $(deb_WORKDIR)/$*/DEBIAN \
$(deb_WORKDIR)/$*/DEBIAN/pre* $(deb_WORKDIR)/$*/DEBIAN/post*
chmod g-s $(deb_WORKDIR)/$*/DEBIAN
- LD_PRELOAD=$(call gb_Library_get_target,getuid) \
- dpkg-deb --build $(deb_WORKDIR)/$* $@
+ fakeroot dpkg-deb --build $(deb_WORKDIR)/$* $@
# vim: set noet sw=4 ts=4: