When building locally in a qemu/chroot and debugging I find I want to edit the
files in the chroot from my desktop gui editor but they're all owned by 399:399.
This pair of patches allows me to set the uid:gid to match my local user and
eases this process.
usage is:
build --build-abuild-id uid:gid
or more usually:
osc build --build-abuild-id 500:500
osc also accepts (and extends the default) .oscrc settings:
build-abuild-id = 500:500
It only supports numeric ids.
The osc patch also adds --map-repo to aggregatepac which
allows repository mapping(s) to be given as SRC=TARGET[,SRC=TARGET]
eg, a real usage:
osc aggregatepac -m
MerStable_Debian_5.0=Mer0.13_Debian_5.0,MerStable_Ubuntu_9.04=Mer0.13_Ubuntu_9.04
Maemo:Mer:0.13:HW:N8x0 advanced-power Maemo:Mer:Stable:HW:N8x0
https://build.opensuse.org/package/view_file?file=_aggregate&package=advanc…
David
--
"Don't worry, you'll be fine; I saw it work in a cartoon once..."
Hello,
I have been working on an import tool from the build service into git
repositories; the result seems to be basically working now. It is available
as:
home:agruen:Factory/bsgit
The git repository is available at:
http://git.opensuse.org/?p=people/agruen/bsgit.git
Exporting changes into the build service is not supported yet, but it's a
start. Integration into osc also hasn't happened, yet.
The tool tries to be nice to the server and not request the same data over and
over again. Still, when fetching a package, this retrieves all the package's
revisions unless you create a shallow copy using bsgit's --depth=N option.
So please do not blindly fetch huge packages with a long history just to see
what happens. (What would happen is pretty clear -- I would get into
troubles with the build service maintainers!)
Here is how to use bsgit:
$ mkdir stuff
$ cd stuff
$ git init
$ bsgit fetch home:agruen:Factory bsgit
Fetching home:agruen:Factory/bsgit (1)
Fetching home:agruen:Factory/bsgit (2)
Branch 'bsgit' created.
$ git branch -a
* bsgit
remotes/api.opensuse.org/home/agruen/Factory/bsgit
$ bsgit pull
Fetching home:agruen:Factory/bsgit (3)
Branch 'bsgit' updated.
$ bsgit fetch
Already up-to-date.
Observe that bsgit created a remote branch with a long name that encodes the
server, project, and package. This is the state of the package in the build
service. A local branch, 'bsgit', tracks that remote branch. You may make
changes on the local branch.
When you fetch a package, this will leave the local branch alone (except for
creating it when it doesn't exist). A pull does a fetch, followed by a
rebase of the local branch. (It doesn't do a merge because we will not be
able to export merges to the build service anyways, at least not with the
current backend.)
When bsgit detects a source link, it creates a remote branch for the target
package as well (i.e., the package linked to), and it expands the source
link.
Source links are expanded against the revision of the target package that they
were *created* against. Very unfortunately, the build service backend does
not record the revision it creates a source link against. Until that is
fixed (and I hope soon!), some guessing is involved, and some source links
may be expanded against the wrong revision.
Here is a source link example:
$ bsgit clone home:coolo:branches:home:darix:Factory FastCGI
Fetching openSUSE:Factory/FastCGI (1)
Fetching openSUSE:Factory/FastCGI (2)
Fetching openSUSE:Factory/FastCGI (3)
Fetching home:darix:Factory/FastCGI (1)
Fetching home:coolo:branches:home:darix:Factory/FastCGI (1)
Fetching home:coolo:branches:home:darix:Factory/FastCGI (2)
Branch 'FastCGI' created.
$ git branch -a
* FastCGI
remotes/api.opensuse.org/home/coolo/branches/home/darix/Factory/FastCGIremotes/api.opensuse.org/home/darix/Factory/FastCGIremotes/api.opensuse.org/openSUSE/Factory/FastCGI
Cheers,
Andreas
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-buildservice+help(a)opensuse.org
Hello,
I would like to build the following application in opensuse build service
(against factory repo both 32 and 64 bit) and I need step by step guide to
setup, compile and build the rpms in the build service .
Thankyou
Glenn
So far I have got some details.
- Details of the project > http://freshmeat.net/projects/ramlog/
and
http://tofu3.szm.sk/ramlog/
- An account on opensuse build service on which to build it.
- Rpm source code
(I don't know which one to use out of these to use for the build
process)
> http://tofu3.szm.sk/ramlog/1.1.0/rpm/ramlog-1.1.0-1.noarch.rpm
> or http://tofu3.szm.sk/ramlog/1.1.0/rpm/ramlog-1.1.0-1.src.rpm
> or
http://tofu3.szm.sk/ramlog/1.1.0/ramlog-1.1.0-1.tar.gz
- Changelog details > http://tofu3.szm.sk/ramlog/changelog.txt
- Contents of the spec file gotten from source (see below)
#rpm -qlp ramlog-1.1.0-1.src.rpm
ramlog-1.1.0-1.tar.gz
ramlog.spec
# rpm -ivhU ramlog-1.1.0-1.src.rpm
1:ramlog warning: user jandrejkovic does not exist -
using root
warning: group jandrejkovic does not exist
warning: user jandrejkovic does not exist
warning: group jandrejkovic does not exist
#
# ramlog.spec contents
#
# cat /usr/src/packages/SPECS/ramlog.spec
Summary: ramlog daemon places /var/log into ramdisk on startup and copies
it back to harddisk on shutdown
Name: ramlog
Version: 1.1.0
Release: 1
License: GPL v3
Group: System Environment/Daemons
Source: %{name}-%{version}-%{release}.tar.gz
#Source0: %{name}-%{version}-%{release}.tar.gz
#Source1: ramlog.8.gz
#Source2: ramlog.cron
#Source3: %{name}-%{version}-%{release}
##Patch: ramlog1.0.0.patch
BuildRoot: /var/tmp/%{name}-buildroot
Requires: coreutils, e2fsprogs, util-linux, gawk, lsof, grep, chkconfig
Packager: Jan Andrejkovic
BuildArch: noarch
%description
ramlog act as system daemon. On startup it creates ramdisk, it copies
files from /var/log into ramdisk and mounts ramdisk as /var/log.
All logs after that will be updated on ramdisk.
On shutdown it saves log files back to harddisk so logs are consistent.
If you restart the service, ramlog saves content of ramdisk do harddisk,
so logs are not lost in case of power outage or kernel panic.
Install ramlog if you have enough of free memory and you want to keep your
logs
on ramdisk. It is good for notebook users, for systems with UPS or for
systems
running from flash - to save some write cycles.
%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT
mkdir -p -m 755 $RPM_BUILD_ROOT/etc/rc.d/init.d
mkdir -p -m 755 $RPM_BUILD_ROOT/usr/share/man/man8/
mkdir -p -m 755 $RPM_BUILD_ROOT/etc/cron.daily
install -m 644 ramlog.8.gz $RPM_BUILD_ROOT/usr/share/man/man8/ramlog.8.gz
install -m 755 ramlog.cron $RPM_BUILD_ROOT/etc/cron.daily/ramlog
install -m 755 %{name}-%{version}-%{release}
$RPM_BUILD_ROOT/etc/rc.d/init.d/ramlog
[ $? -ne 0 ] && (echo Error: ramlog was not installed successfully; exit 1)
%pre
#Below check is not needed if the same version of ramlog is beeing
installed, however if new version is installed
#it is always better to uninstall properly first, otherwise if new feature
is introduced, uninstall may not work properly
if [ -f /var/tmp/ramlog_uninstall_flag_file ]; then
echo ramlog was not completely uninstalled, you have to restart the
system first\!
exit 1
fi
#[ -f /var/tmp/ramlog_uninstall_flag_file ] && rm -f
/var/tmp/ramlog_uninstall_flag_file
exit 0
%post
logsize=`du -c /var/log | tail -1 | awk {'print $1'}`
logsizemax=$(($logsize+$logsize/100*35)) #add 35%
logsizemax=$(($logsizemax/1000*1000+1000)) #round to megabytes
memtotal=`cat /proc/meminfo | grep MemTotal: | awk '{print $2}'`
memleft=$(($memtotal-$logsizemax))
#My formula: (Total memory - (logsize + 35%)) > 256 M
[ $memleft -lt 256000 ] && { echo Error: Not enough memory - Total memory
is $memtotal kbytes, logsize is $logsize kbytes; exit 1; }
if [ -f /sbin/new-kernel-pkg ]; then
if [ `/sbin/new-kernel-pkg --help 2>&1 | grep -e --update | wc -l`
-eq 1 ]; then
/sbin/new-kernel-pkg --kernel-args=ramdisk_size=$logsizemax
--update `uname -r`
else
/sbin/new-kernel-pkg --kernel-args=ramdisk_size=$logsizemax
--install `uname -r`
fi
else
echo "ramlog: Warning: You have to add kernel parameter
ramdisk_size manually. Estimated value is $memleft, so you add
\"ramdisk_size=$memleft\" as a kernel paramter to your boot manager
configuration file - such as grub.conf or lilo.conf"
fi
#/bin/sed -i -e "s/^RAMDISKSIZE=[0-9][0-9]*/RAMDISKSIZE=${logsizemax}/g"
/etc/rc.d/init.d/ramlog
/sbin/chkconfig --add %{name}
/sbin/chkconfig %{name} on
%preun
cp /etc/rc.d/init.d/ramlog /etc/rc.d/init.d/ramlog.uninst
%postun
if [ -f /sbin/new-kernel-pkg ]; then
/sbin/new-kernel-pkg --remove-args=ramdisk_size --update `uname -r`
else
echo "ramlog: Warning: You have to remove/update kernel parameter
ramdisk_size in your grub.conf or lilo.conf manually."
fi
mv /etc/rc.d/init.d/ramlog.uninst /etc/rc.d/init.d/ramlog
/sbin/chkconfig --add %{name}
/sbin/chkconfig %{name} on
/sbin/service %{name} uninstall
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
#%doc README TODO COPYING ChangeLog
%doc README COPYING ChangeLog INSTALL FAQ VERSION
/etc/rc.d/init.d/ramlog
/etc/cron.daily/ramlog
/usr/share/man/man8/ramlog.8.gz
%changelog
* Sun Jun 08 2008 Jan Andrejkovic <jandrejkovic(a)gmail.com>
- version 1.1.0 released:
- added support for Ubuntu
- added support for SELinux - now ramlog saves security context
of all files in /var/log
- logs are saved to HDD even if stop is not successful
- added logging feature
- created .deb package for Ubuntu
- fixed some bugs
* Wed Jan 13 2008 Jan Andrejkovic <jandrejkovic(a)gmail.com>
- first version 1.0.0 released
- created .rpm package
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-buildservice+help(a)opensuse.org
Hello,
Finally I got a little time, so I'd like to try to compile a few
packages for Debian ARM. Last time I worked with the BS, I used PPC and
openSUSE 11.0. Now looking for info, how to get started BS for ARM. So,
I got some questions:
- which version to use if I want to compile for ARM?
-
http://en.opensuse.org/Build_Service/Build_Service_Installation_Tutorial
only has instructions up to openSUSE 11.0. Does the same apply for 11.1?
Is it the doc I should use for cross builds:
http://en.opensuse.org/Build_Service/Concepts/CrossDevelopment ?
- Can I compile for Debian Lenny? (
http://en.opensuse.org/Build_Service/Concepts/CrossDevelopment only
mentions Etch ) Some packages are not included in Debian Lenny for ARM,
which are available in Ubuntu and I'd try to recompile them for Debian...
- is it already possible to boot openSUSE/ARM? Would be nice to see it
running at least in Qemu...
Bye,
CzP
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-buildservice+help(a)opensuse.org
[cricket-1.0.5] re '50_cricket.conf is not allowed anymore in SuSE Linux'
and 'directories not owned by a package'
Hello,
I get this interesting error message in the build log of cricket-1.0.5
What can be done to fix it
... running 01-check-debuginfo
... testing for empty debuginfo packages
... running 02-check-gcc-output
... testing for serious compiler warnings
(using /usr/lib/build/checks-data/check_gcc_output)
(using //.build.log)
... running 03-check-binary-kernel-log
... running 04-check-filelist
... checking filelist
cricket: "/etc/httpd/conf.d/50_cricket.conf" is not allowed anymore in SuSE
Linux.
cricket-1.0.5-13.1.x86_64.rpm: directories not owned by a package:
- /etc/httpd
- /etc/httpd/conf.d
System halted.
Log Reference:
https://build.opensuse.org/package/live_build_log?arch=x86_64&package=crick…
Thanks
Glenn
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-buildservice+help(a)opensuse.org
Hello,
I have been advised to use these conventions when packaging games:
http://en.opensuse.org/Packaging/Games
and have the following questions about the package splitting between
base and game data:
1) Is it necessary to always put the data in a separate package ? Is
there a maximum size (ex: < 10MB) for which it is okay to keep it as
one single package ? Because if many small games have data packages,
it will easily "spam" the package list. This info should be added on
that wiki page (I can do that if someone can confirm).
2) How to handle the mentionned "bugfixes" updates ?
If the upstream tar archive has changed, OBS will anyway rebuild
both the base and data packages, if there is only one spec file. So
after this it all depends on how the user chooses to do the update.
But for the user it might also not be clear whether the data package
needs to be updated as well. I guess this could be enforced using
version numbers in the Require tag. What do you think ?
3) How is the Requires dependency applied ? I guess the base package
requires the data package. Is it possible to make the data package
require the base one at the same time ? (double-dependency)
Thanks,
Vincent
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-buildservice+help(a)opensuse.org
Friday 31 July 2009
Hello.
I got error building package kdar against openSUSE_Factory.
https://build.opensuse.org/package/show?package=kdar&project=home%3ALazy_Ke…
From build log:
----------8><----------
...
installing libdar-4-2.3.6-77.44
...
installing libdar-devel-2.3.6-77.44
...
checking for libdar... configure: error: required library not found.
Please install libdar.
...
----------8><----------
The fact is it was built successfully on 21st of June and then something
got wrong. Also build is successed for openSUSE 11.0 and 11.1. I didn't
change anything. What is the problem?
--
WBR,
Kyrill Detinov
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-buildservice+help(a)opensuse.org
This osc patch adds --map-repo to "osc aggregatepac" which
allows repository mapping(s) to be given as SRC=TARGET[,SRC=TARGET]
eg, a real usage:
osc aggregatepac -m
MerStable_Debian_5.0=Mer0.13_Debian_5.0,MerStable_Ubuntu_9.04=Mer0.13_Ubuntu_9.04
Maemo:Mer:0.13:HW:N8x0 advanced-power Maemo:Mer:Stable:HW:N8x0
David
Patch for osc here:
http://gitorious.org/mer/osc/commit/d8c5d5c2712e67d38c0dc4bb9f9d31aaa96c7d1b
--
"Don't worry, you'll be fine; I saw it work in a cartoon once..."
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-buildservice+help(a)opensuse.org
I have Opensuse 11.1 installed on my PC, but I would like to build an
iso for Opensuse 11.0. I have used the command kiwi --list to see what
configurations are available. It shows suse-11.1 JeOS but not the one
related to suse-11.0. Is there any way I can still build an iso file
for suse 11.0?
Thanks for reading this!
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-buildservice+help(a)opensuse.org
When building locally in a qemu/chroot and debugging I find I want to edit the
files in the chroot from my desktop gui editor but they're all owned by 399:399.
This pair of patches allows me to set the uid:gid to match my local user and
eases this process.
usage is:
build --build-abuild-id uid:gid
or more usually:
osc build --build-abuild-id 500:500
osc also accepts (and extends the default) .oscrc settings:
build-abuild-id = 500:500
It only supports numeric ids.
David
Patch for build here:
http://gitorious.org/mer/build/commit/1955c634c9e4ac3078536f3959b04fcd53604…
Patch for osc here:
http://gitorious.org/mer/osc/commit/3e80d81b95510da9f795d0b5ff8d6731c77d6a7d
--
"Don't worry, you'll be fine; I saw it work in a cartoon once..."
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-buildservice+help(a)opensuse.org