Note that there are some explanatory texts on larger screens.

plurals
  1. POrpm building help SPEC.file
    primarykey
    data
    text
    <p>I have a question to building an rpm package. I will bild an rpm package, which should copy some files on the computer. If no openssl is on the Pc I will also install it. At last I want to start some java programm to verify the succesfull installation.</p> <p>Why is it not possible to just call a java class datei from the %post section. What did I do wrong? Is ist even possible to call one from inside rpm?</p> <p>Also the $HOME Variable is not resolved in the %post section. How can I write to the coresponding file?</p> <p>I am also open to idea of improvement. This is my first rpm package.</p> <p>Thank you very much for your help</p> <p>This ist the coresponding SPEC file.</p> <pre><code>### PI JDBC Driver Spec-File Summary: Installs the PIJDBC Driver Name: pijdbcdriver_installer Version: 1.0 Release: 1 License: Probably not Source: PI-JDBC_2012-x86-x64_.tar.gz Source1: openssl-0.9.8k-3.4_3.8.1.x86_64.delta.rpm Source2: lib Source3: openssl-1.0.0k-34.20.1.x86_64.rpm Source4: test.sh %description pijdbcdriver_installer installs %prep rm -rf Build/* %setup -c pijdbcdriver_installer-1.0 cp -p %SOURCE1 . cp -pr %SOURCE2 . cp -pr %SOURCE3 . cp -p %SOURCE4 . %build %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/opt mkdir -p $RPM_BUILD_ROOT/etc mkdir -p $RPM_BUILD_ROOT/usr mkdir -p $RPM_BUILD_ROOT/tmp mkdir -p $RPM_BUILD_ROOT/usr/lib cp -r $RPM_BUILD_DIR/pijdbcdriver_installer-1.0/pipc $RPM_BUILD_ROOT/opt/pipc cp -r $RPM_BUILD_DIR/pijdbcdriver_installer-1.0/openssl-0.9.8k-3.4_3.8.1.x86_64.delta.rpm $RPM_BUILD_ROOT/tmp/openssl-0.9.8k-3.4_3.8.1.x86_64.delta.rpm cp -r $RPM_BUILD_DIR/pijdbcdriver_installer-1.0/openssl-1.0.0k-34.20.1.x86_64.rpm $RPM_BUILD_ROOT/tmp/openssl-1.0.0k-34.20.1.x86_64.rpm cp -pr $RPM_BUILD_DIR/pijdbcdriver_installer-1.0/lib/* $RPM_BUILD_ROOT/usr/lib cp $RPM_BUILD_DIR/pijdbcdriver_installer-1.0/test.sh $RPM_BUILD_ROOT versionsnummerVonOpenSSL=`openssl version -v` openssslVersionIs_1_0=`echo $versionsnummerVonOpenSSL | awk '{print index($versionsnummerVonOpenSSL, 1.0)}'` openssslVersionIs_0_9_8=`echo $versionsnummerVonOpenSSL | awk '{print index($versionsnummerVonOpenSSL, 0.9.8)}'` openssslVersion_Exists=`echo $versionsnummerVonOpenSSL | awk '{print length($versionsnummerVonOpenSSL)}'` if [ openssslVersionIs_1_0 &gt; 0 ] then rm $RPM_BUILD_ROOT/opt/pipc/jdbc/lib/libRdsaWrapper-1.3.0a.so rm $RPM_BUILD_ROOT/opt/pipc/jdbc/lib/libRdsaWrapper64-1.3.0a.so elif [ openssslVersionIs_0_9_8 &gt; 0 ] then rm $RPM_BUILD_ROOT/opt/jdbc/lib/libRdsaWrapper-1.3.0b.so rm $RPM_BUILD_ROOT/opt/pipc/jdbc/lib/libRdsaWrapper64-1.3.0b.so elif [ openssslVersion_Exists = 0 ] then sudo rpm -i tmp/openssl-1.0.0k-34.20.1.x86_64.rpm rm $RPM_BUILD_ROOT/opt/pipc/jdbc/lib/libRdsaWrapper-1.3.0a.so rm $RPM_BUILD_ROOT/opt/pipc/jdbc/lib/libRdsaWrapper64-1.3.0a.so else fi export DISPLAY=:0 cd /opt/pipc/jdbc/Samples/getSnap/bin java getSnap koernersnb FRADEV-T6-PI1 sin% %post rm -r tmp/openssl-0.9.8k-3.4_3.8.1.x86_64.delta.rpm rm -r tmp/openssl-1.0.0k-34.20.1.x86_64.rpm sudo sed -i '/PIJDBCDriver/d' /etc/profile sudo sed -i '/PI_RDSA_LIB/d' /etc/profile if [ openssslVersionIs_1_0 &gt; 0 ] then echo "export PI_RDSA_LIB=/opt/pipc/jdbc/lib/libRdsaWrapper-1.3.0b.so" &gt;&gt; etc/profile echo "export PI_RDSA_LIB64=/opt/pipc/jdbc/lib/libRdsaWrapper64-1.3.0b.so" &gt;&gt; /etc/profile echo "export PI_RDSA_LIB=/opt/pipc/jdbc/lib/libRdsaWrapper-1.3.0b.so" &gt;&gt; $HOME/.bashrc echo "export PI_RDSA_LIB64=/opt/pipc/jdbc/lib/libRdsaWrapper64-1.3.0b.so" &gt;&gt; $HOME/.bashrc elif [ openssslVersionIs_0_9_8 &gt; 0 ] then echo "export PI_RDSA_LIB=/opt/pipc/jdbc/lib/libRdsaWrapper-1.3.0a.so" &gt;&gt; /etc/profile echo "export PI_RDSA_LIB64=/opt/pipc/jdbc/lib/libRdsaWrapper64-1.3.0a.so" &gt;&gt; /etc/profile echo "export PI_RDSA_LIB=/opt/pipc/jdbc/lib/libRdsaWrapper-1.3.0a.so" &gt;&gt; **$HOME**/.bashrc echo "export PI_RDSA_LIB64=/opt/pipc/jdbc/lib/libRdsaWrapper64-1.3.0a.so" &gt;&gt; **$HOME**/.bashrc else echo "export PI_RDSA_LIB=/opt/pipc/jdbc/lib/libRdsaWrapper-1.3.0b.so" &gt;&gt; /etc/profile echo "export PI_RDSA_LIB64=/opt/pipc/jdbc/lib/libRdsaWrapper64-1.3.0b.so" &gt;&gt; /etc/profile echo "export PI_RDSA_LIB=/opt/pipc/jdbc/lib/libRdsaWrapper-1.3.0b.so" &gt;&gt; $HOME/.bashrc echo "export PI_RDSA_LIB64=/opt/pipc/jdbc/lib/libRdsaWrapper64-1.3.0b.so" &gt;&gt; $HOME/.bashrc fi echo "export CLASSPATH=$CLASSPATH:/opt/pipc/jdbc/PIJDBCDriver.jar:." &gt;&gt; /etc/profile **%files** /opt/pipc /tmp/openssl-0.9.8k-3.4_3.8.1.x86_64.delta.rpm /tmp/openssl-1.0.0k-34.20.1.x86_64.rpm /usr/lib /test.sh </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload