############################################################################### # IPFire.org - An Open Source Firewall Solution # # Copyright (C) - IPFire Development Team # ############################################################################### name = filesystem version = 002 release = 2 maintainer = Michael Tremer groups = Base Build System/Base url = license = Public Domain summary = The basic directory layout for a Linux system. description The filesystem package is one of the basic packages that is installed on a Linux system. Filesystem contains the basic directory layout for a Linux operating system, including the correct permissions for the directories. end # No tarball. sources = build # Pakfire supports python scriptlets since # version 0.9.22. requires pakfire-builder >= 0.9.22 end DIR_APP = %{DIR_SRC} build : # Nothing to do end install cd %{BUILDROOT} mkdir -pv \ boot \ dev \ etc/pki \ etc/skel \ etc/sysconfig \ home \ media \ mnt \ opt \ proc \ root \ run/lock \ srv \ sys \ tmp \ usr/bin \ usr/include \ 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} \ usr/src \ usr/local/bin \ usr/local/etc \ usr/local/lib \ usr/local/sbin \ usr/local/share \ usr/local/share/man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x} \ usr/local/share/info \ usr/local/include \ var/empty \ var/lib \ var/local \ var/log \ var/nis \ var/preserve \ var/spool/{mail,lpd} \ var/tmp \ 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 ln -snf ../run var/run ln -snf ../run/lock var/lock # Setting correct permissions. chmod 1777 %{BUILDROOT}/{,var/}tmp chown root:mail %{BUILDROOT}/var/spool/mail chmod 775 %{BUILDROOT}/var/spool/mail end # XXX not implemented at the moment export QUALITY_AGENT_NO_DIRECTORY_CHECK = yes export QUALITY_AGENT_NO_DIRECTORY_PRUNE = yes 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) try: os.lstat(dir) except OSError: os.symlink(usr_dir[1:], dir) end end # Although this package is not noarch, it does not # contain any binary data and thus has no debuginfo package. end