public inbox for ipfire-scm@lists.ipfire.org
 help / color / mirror / Atom feed
* [IPFire-SCM] [git.ipfire.org] IPFire 3.x development tree branch, master, updated. f43b253bcea71435c8d9131aed19578132055ef8
@ 2012-04-14 19:42 git
  0 siblings, 0 replies; only message in thread
From: git @ 2012-04-14 19:42 UTC (permalink / raw)
  To: ipfire-scm

[-- Attachment #1: Type: text/plain, Size: 3414 bytes --]

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "IPFire 3.x development tree".

The branch, master has been updated
       via  f43b253bcea71435c8d9131aed19578132055ef8 (commit)
      from  47a5ddc10e8bffd874f520fb6be69872b941468f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f43b253bcea71435c8d9131aed19578132055ef8
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date:   Sat Apr 14 21:41:01 2012 +0200

    filesystem: Perform UsrMove (#10081).
    
    This will create /bin, /sbin, /lib and /lib64 into symlinks
    pointing to their corresponding directories in /usr.
    
    See bug description for more information.

-----------------------------------------------------------------------

Summary of changes:
 filesystem/filesystem.nm |   38 +++++++++++++++++++++++++++++++-------
 1 files changed, 31 insertions(+), 7 deletions(-)

Difference in files:
diff --git a/filesystem/filesystem.nm b/filesystem/filesystem.nm
index 425514e..65d62e9 100644
--- a/filesystem/filesystem.nm
+++ b/filesystem/filesystem.nm
@@ -4,8 +4,8 @@
 ###############################################################################
 
 name       = filesystem
-version    = 001
-release    = 3
+version    = 002
+release    = 1
 
 maintainer = Michael Tremer <michael.tremer(a)ipfire.org>
 groups     = Base Build System/Base
@@ -24,6 +24,12 @@ end
 sources   =
 
 build
+	# Pakfire supports python scriptlets since
+	# version 0.9.22.
+	requires
+		pakfire-builder >= 0.9.22
+	end
+
 	DIR_APP = %{DIR_SRC}
 
 	build
@@ -33,23 +39,18 @@ build
 	install
 		cd %{BUILDROOT}
 		mkdir -pv \
-			bin \
 			boot \
 			dev \
 			etc/pki \
 			etc/skel \
 			etc/sysconfig \
 			home \
-			lib \
-			%{lib} \
-			lib/modules \
 			media \
 			mnt \
 			opt \
 			proc \
 			root \
 			run/lock \
-			sbin \
 			srv \
 			sys \
 			tmp \
@@ -58,6 +59,7 @@ build
 			usr/lib \
 			usr/%{lib} \
 			usr/lib/locale \
+			usr/lib/modules \
 			usr/sbin \
 			usr/share/{aclocal,dict,doc,empty,info,mime-info,misc} \
 			usr/share/man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x,0p,1p,3p} \
@@ -83,6 +85,11 @@ build
 			var/db \
 			var/cache
 
+		ln -snf usr/bin bin
+		ln -snf usr/sbin sbin
+		ln -snf usr/lib lib
+		[ "%{lib}" = "lib" ] || ln -snf usr/%{lib} %{lib}
+
 		ln -snf ../var/tmp usr/tmp
 		ln -snf spool/mail var/mail
 
@@ -100,6 +107,23 @@ end
 packages
 	package %{name}
 		prerequires = setup
+
+		# We do not know, if the filesystem package is the first
+		# in the transaction, so we create the symlinks prior to running
+		# the transaction.
+		script pretransin python
+			if not os.path.exists("/usr"):
+				os.makedirs("/usr")
+
+			for dir in ("/lib", "/%{lib}", "/sbin", "/bin"):
+				usr_dir = "/usr%s" % dir
+
+				if not os.path.exists(usr_dir):
+					os.makedirs(usr_dir)
+
+				if not os.path.exists(dir):
+					os.symlink(usr_dir[1:], dir)
+		end
 	end
 
 	# Although this package is not noarch, it does not


hooks/post-receive
--
IPFire 3.x development tree

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-04-14 19:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-14 19:42 [IPFire-SCM] [git.ipfire.org] IPFire 3.x development tree branch, master, updated. f43b253bcea71435c8d9131aed19578132055ef8 git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox