Jon,
with:
cp obj/ggsnc/ggsnc $RPM_BUILD_ROOT%{_bindir}/
i get:
+ cp obj/ggsnc/ggsnc /pcore-0.1/usr/bin/
cp: cannot create regular file `/pcore-0.1/usr/bin/': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.93551 (%install)
The problem being that even though my Version is 0.1 , but when i untar , the directory gets created is pcore and not pcore-0.1.
cp obj/ggsnc/ggsnc $RPM_BUILD_ROOT%{_bindir}/
i get:
+ cp obj/ggsnc/ggsnc /pcore-0.1/usr/bin/
cp: cannot create regular file `/pcore-0.1/usr/bin/': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.93551 (%install)
The problem being that even though my Version is 0.1 , but when i untar , the directory gets created is pcore and not pcore-0.1.
Any solution for this ?
-Kamal.
From: Jon Ciesla <limburgher@xxxxxxxxx>
To: Kamal Ahmed <kamal2222ahmed@xxxxxxxxx>; Discussion of RPM packaging standards and practices for Fedora <packaging@xxxxxxxxxxxxxxxxxxxxxxx>
Sent: Thursday, April 12, 2012 3:01 PM
Subject: Re: Cannot cd to %{name}-%{version}
2012/4/12 Kamal Ahmed <kamal2222ahmed@xxxxxxxxx>:
> i found out the directory name "pcore" but outside of rpm/spec
> I wish there was a way inside the rpm , that i could find out the name of
> the directory that got created as a result of make
> in any case.
>
> now i AM able to od a make, but when trying to copy the binaries ( lets say
> one of the binaries "ggsnc" in /usr/bin) i get error message on permission
>
> ibcm_td.a ./libmt_td.a -lpthread -lnsl -lrt -o ./hnbgw
> make[1]: Leaving directory `/home/kahmed/rpmbuild/BUILD/pcore/obj/hnbgw'
> + exit 0
> Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.32400
> + umask 022
> + cd /home/kahmed/rpmbuild/BUILD
> + cd pcore
> + LANG=C
> + export LANG
> + unset DISPLAY
> + cp obj/ggsnc/ggsnc /usr/bin
> cp: cannot create regular file `/usr/bin/ggsnc': Permission denied
> error: Bad exit status from /var/tmp/rpm-tmp.32400 (%install)
You need to copy it to the buildroot, rather than the running system,
so it should be:
cp obj/ggsnc/ggsnc $RPM_BUILD_ROOT%{_bindir}/
Or the like.
-J
>
> RPM build errors:
> Bad exit status from /var/tmp/rpm-tmp.32400 (%install)
> 1. Am i doing the right thing which is to copy the binaries ( since we do
> NOT have a make install ) to /usr/bin
> or this should be done in chroot
> 2. i am copying binaries in %install section, is this ok ?
>
> %install
> cp obj/ggsnc/ggsnc %{_bindir}
>
> Thanks,
> -Kamal.
>
> ________________________________
> From: zxq9 <zxq9@xxxxxxxx>
> To: packaging@xxxxxxxxxxxxxxxxxxxxxxx
> Sent: Thursday, April 12, 2012 11:00 AM
> Subject: Re: Cannot cd to %{name}-%{version}
>
>>2012/4/12 Kamal Ahmed <kamal2222ahmed@xxxxxxxxx>:
>>>
>>> %prep
>>> mkdir %{name}-%{version}
>>
>>Find out what the directory is really called after extraction, i.e.
>>foo-somethingelse and change
>>
>>> %setup -q
>>
>>to
>>
>>%setup -qn foo-somethingelse
>
> Whatever the extraction directory is gets removed prior to the build to keep
> the space clean. So what he's saying is that your problem (isolated below)
> will stop happening if you name the build one something else.
>
>>> rpmbuild -bb pcore.spec
>
> Everything is fine here...
>
>>> Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.66518
>>> + umask 022
>>> + cd /home/kahmed/rpmbuild/BUILD
>>> + LANG=C
>>> + export LANG
>>> + unset DISPLAY
>>> + mkdir pcore-0.1
>
> And here the working directory is made based on the default extraction
> directory (that is, {% name %}-{% version %}).
>
>>> + cd /home/kahmed/rpmbuild/BUILD
>>> + rm -rf pcore-0.1
>
> And here it gets removed! So you need to name the one you really want to use
> something different, which is what Jon is saying about "setup -qn
> something-else".
>
>>> + /bin/gzip -dc /home/kahmed/rpmbuild/SOURCES/pcore-0.1.tar.gz
>>> + tar -xf -
>>> + STATUS=0
>>> + '[' 0 -ne 0 ']'
>>> + cd pcore-0.1
>
> And of course this step doesn't work because pcore-0.1 has already been
> "rm -rf"d
>
>>> /var/tmp/rpm-tmp.66518: line 37: cd: pcore-0.1: No such file or directory
>
> Hope this makes more sense now. Packaging is a little mysterious until you
> play with it a bit on your own. And once you do, you'll find that Fedora
> has the best all-around guidelines for it, all told. They are strict and a
> little difficult to understand "why" at first, but there is a *lot* of
> experience expressed in the packaging guidelines, tutorials, rpm itself and
> this list (most of the time...).
> --
> packaging mailing list
> packaging@xxxxxxxxxxxxxxxxxxxxxxx
> https://admin.fedoraproject.org/mailman/listinfo/packaging
>
>
> --
> packaging mailing list
> packaging@xxxxxxxxxxxxxxxxxxxxxxx
> https://admin.fedoraproject.org/mailman/listinfo/packaging
--
in your fear, seek only peace
in your fear, seek only love
-d. bowie
-- packaging mailing list packaging@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/packaging