Adopt new ROCm packaging guidelines

All files should go into /opt/rocm/$component

For developer convenience, a single include directory is created through
symlinks, from the component include directory to /opt/rocm/include.

Similarly, a unified linked directory is present in /opt/rocm/lib

The component lib directory should not include linker names (library
names without version numbers).

This commit also fixes 'make rpm' running correctly without the need for
sourcing build/envsetup.sh

Change-Id: I95a680f6d3e3bd1ae688d0694934a0577dbd007c
This commit is contained in:
Andres Rodriguez
2016-04-11 18:17:34 -04:00
committed by Andres Rodriguez
szülő 82b3fad320
commit 9f355b78a0
3 fájl változott, egészen pontosan 32 új sor hozzáadva és 19 régi sor törölve
+1 -1
Fájl megtekintése
@@ -1 +1 @@
/opt/rocm/lib
/opt/rocm/libhsakmt/lib
+2 -2
Fájl megtekintése
@@ -1,6 +1,6 @@
%define name libhsakmt
%define version 2.0.0
%define thunkroot %{getenv:OUT_DIR}
%define packageroot %{getenv:PACKAGE_DIR}
Name: %{name}
Version: %{version}
@@ -18,7 +18,7 @@ for AMD KFD
%setup -T -D -c -n %{name}
%install
cp -R %thunkroot/build/thunk/rpm/libhsakmt $RPM_BUILD_ROOT
cp -R %packageroot $RPM_BUILD_ROOT
find $RPM_BUILD_ROOT \! -type d | sed "s|$RPM_BUILD_ROOT||"> thunk.list
%post
+29 -16
Fájl megtekintése
@@ -1,3 +1,6 @@
# Our directory
THUNK_ROOT ?= $(abspath ../)
# Include directories
INCLUDE_DIR := ../include
INCLUDES += $(INCLUDE_DIR)
@@ -59,26 +62,36 @@ PACKAGE_DIR = $(BUILDDIR)/libhsakmt
DEBIAN_DIR = ../DEBIAN
LDCONF_FILE = $(DEBIAN_DIR)/x86_64-libhsakmt.conf
LDCONF_INSTALL_DIR = $(PACKAGE_DIR)/etc/ld.so.conf.d
INSTALL_LIB_DIR = $(PACKAGE_DIR)/opt/rocm/lib
INSTALL_INCLUDE_DIR = $(PACKAGE_DIR)/opt/rocm/include/libhsakmt
ROCM_ROOT = $(PACKAGE_DIR)/opt/rocm
ROCM_LIB = $(ROCM_ROOT)/lib
ROCM_INCLUDE = $(ROCM_ROOT)/include
INSTALL_LIB_DIR = libhsakmt/lib
INSTALL_INCLUDE_DIR = libhsakmt/include/libhsakmt
export PACKAGE_DIR
deb: lnx64a
@mkdir -p $(INSTALL_LIB_DIR)
@mkdir -p $(INSTALL_INCLUDE_DIR)
@mkdir -p $(LDCONF_INSTALL_DIR)
@cp -r $(INCLUDE_DIR)/* $(INSTALL_INCLUDE_DIR)
@cp $(BUILDDIR)/libhsakmt.so* $(INSTALL_LIB_DIR)
@cp -r $(LDCONF_FILE) $(LDCONF_INSTALL_DIR)
package-common: lnx64a
@mkdir -p $(PACKAGE_DIR)
@cp -r $(DEBIAN_DIR) $(PACKAGE_DIR)
@mkdir -p $(LDCONF_INSTALL_DIR)
@cp -r $(LDCONF_FILE) $(LDCONF_INSTALL_DIR)
@mkdir -p $(ROCM_ROOT)/$(INSTALL_LIB_DIR)
@cp $(BUILDDIR)/$(LIB_NAME).$(LIB_MAJOR_VER) $(ROCM_ROOT)/$(INSTALL_LIB_DIR)
@mkdir -p $(ROCM_ROOT)/$(INSTALL_INCLUDE_DIR)
@cp -r $(INCLUDE_DIR)/* $(ROCM_ROOT)/$(INSTALL_INCLUDE_DIR)
@mkdir -p $(ROCM_LIB)
@ln -fs ../$(INSTALL_LIB_DIR)/$(LIB_NAME).$(LIB_MAJOR_VER) $(ROCM_LIB)/$(LIB_NAME)
@mkdir -p $(ROCM_INCLUDE)
ln -fs ../$(INSTALL_INCLUDE_DIR) $(ROCM_INCLUDE)/
deb: package-common
@fakeroot dpkg-deb --build $(PACKAGE_DIR) $(BUILDDIR)/libhsakmt.deb
rpm: lnx64a
@mkdir -p $(INSTALL_LIB_DIR)
@mkdir -p $(INSTALL_INCLUDE_DIR)
@mkdir -p $(LDCONF_INSTALL_DIR)
@cp -r $(INCLUDE_DIR)/* $(INSTALL_INCLUDE_DIR)
@cp $(BUILDDIR)/libhsakmt.so* $(INSTALL_LIB_DIR)
@cp -r $(LDCONF_FILE) $(LDCONF_INSTALL_DIR)
rpm: package-common
@rpmbuild --define '_topdir $(BUILD_ROOT)/rpm' -ba $(THUNK_ROOT)/RPM/libhsakmt.spec
lnx64a: $(BUILDDIR)/$(LIB_NAME)