Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
steveL's favourite tips
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Sun Jan 07, 2007 7:28 am    Post subject: steveL's favourite tips Reply with quote

I'm just collecting stuff I've learnt from others here, so it's all in one place in case I lose all my data and hopefully it'll be of use to others.
Top tip so far:
If you have a problem with software in portage file a bug with a patch to add whatever it is that's missing. Be aware of bugzilla ettiquette -- it's not a place for discussion unless it's technical and specific to the bug. If you're unhappy with how you're dealt with, discuss it on the project mailing-list if you don't feel able to file a userrel or devrel bug.
Installation
Rough Guide to Kernel Building
- to search for CONFIG_NET_WIRELESS, press / and then type NET_WIRELESS in the resulting dialog
lspci -k to see what modules the live-disk kernel uses for your devices.
Setting up hard-drives (migration to libata, but covers it all afaict.)
Resuming an Install
Salvaging an Install
Fix Networking
Don't forget to set your hostname
Xorg Modelines (last resort: start with a blank config, as X should work out of the box)
X for 3d cards: ATI needs DRI loaded, nvidia needs DRI unloaded. (correct me if any of this seems wrong)
USB-2 and USB-3 working together

Maintenance
The basics
use FEATURES=buildpkg to keep backups of all emerged packages so you can rollback in case of problems.
- you can also use this to build binary packages for multiple machines
Cleaning out logfiles
Getting portage messages for an emerge
Use update
- by default does our system update procedure:
emerge -uDN @world --with-bdeps y
(with --pretend first, to review the list: recommended procedure)
- review and edit USE flags on a per-package basis, or globally, by pressing E for the edit list dialog.
- followed by:
glsa-check
depclean
@preserved-rebuild (if required)
revdep-rebuild
- to get the same with --changed-use use: update -auDU

To run: emerge -uD --changed-use @world without bdeps, use: update -auDU @world
..and take out the a if you just want to run it without confirming. It supports parallel builds.

Full procedure without bdeps: update -auDN --bdeps=n

IOW: if you give it a parameter like a pkg-name, it just wraps emerge. If not, it does a system upgrade.
except: you have to tell it to install a package to world with -i, eg: update -ia kate
By default it just updates the package, ie: emerge -1 package which pulls in needed dependencies, with your flags.

Recover from a snafu see also Reinstalling python on next page.
in the cli: euse -i USEFLAG is your friend
Listing overlay packages
to check whether you have a module:
lsmod = loaded modules, modprobe -l = all built modules
- just add |grep -F module to find it if you have a specific module in mind.

How to use dep? (The man page is hard when you're tired) Top 3 thanks to mark_alec on IRC
dep -w, --pruneworld
dep -u, --usedesc for PKG
dep -e, --versions and status of PKG
-t, --tree-depends and -T, --reverse-tree of PKG
-U, --iuse list pkgs which declare a USE flag
- kudos to ecatmur for the script.

mount -t smbfs -o lfs allows large files (IRC)

For archive: no name, took it down a while ago, sorry:
Let's assume you want to write /usr/local into a file under /mnt/archive:
find /usr/local -print | cpio -H tar -ov | bzip2 > /mnt/archive/usr_local.tar.bz2
To list the contents of your archive:
bunzip2 -c /mnt/archive/usr_local.tar.bz2 | cpio -itv
To extract the archive, you can use:
bunzip2 -c /mnt/archive/usr_local.tar.bz2 | cpio -imdv
Now, let's assume your /usr/local/ contains the file /usr/local/bin/myscript. You can extract just this file by:
bunzip2 -c /mnt/archive/usr_local.tar.bz2 | cpio -imdv /usr/local/bin/myscript
or even extract all of your scripts that start with "my":
bunzip2 -c /mnt/archive/usr_local.tar.bz2 | cpio -imdv '/usr/local/bin/my*'
Note the quotes on the pattern so the shell doesn't interpret it.

AFAIR, there are some older versions of cpio, in which the -H tar didn't preserve the modification time correctly.
I usually prefer option -c or -H crc, which are, however, not compatible with tar.
cpio has many other interesting options, so it's worth having a look at the manpage.

Advanced usage
How to get a package stabilised
Daemonizing azureus - example initscript
Per-package CFLAGS using package.env. If that makes no sense, you should wait till you know Gentoo better.
Sneakernet (no-net install)
Read-only root eg SD-card
Building in a chroot snapshot using BTRFS.

Adding patches to an ebuild:
First try to see if the ebuild supports epatch_user already: if it inherits from eutils (perhaps indirectly) then it will.
Support for apply_user_patches has been proposed for EAPI 6.

You can also use the post_src_unpack() user hook and the profile.bashrc in the
base profile for this. E.g.:
Code:
# mkdir -p /etc/portage/env/$category
# cat << END > /etc/portage/env/$category/$name
post_src_unpack() {
    epatch foo.patch
}
END

uberpinguin:
you need to edit the ebuild and use 'epatch' to apply the patch. once you've got the ebuild tweaked, you'll have to 'ebuild EBUILD digest' to fix the checksums. I'd recommend creating an overlay to put your modded ebuild in, though.
read the man page for patch and look at the first couple lines of the patch to see what '-p' level to use; apply the patch; ebuild EBUILD digest to fix the checksums; try emerging it

The old method (I didn't take the author's name down, so sorry whoever you are.)
ebuild /usr/portage/pkg-category/some-package/some-package-1.0 unpack
cd /var/tmp/portage/pkg-category/some-package/work/...
patch -p1 < ~/my-patch-for-some-package
cd
ebuild /usr/portage/pkg-category/some-package/some-package-1.0 merge

Note Breaking old ebuilds with eclass changes is a QA violation (antarus i think)

Old install (in case it's useful):
IDE Kernel Config (Written for Intel Chipset < ICH6 but easy to expand)


Last edited by steveL on Thu Nov 13, 2014 3:24 pm; edited 38 times in total
Back to top
View user's profile Send private message
Fukai
Tux's lil' helper
Tux's lil' helper


Joined: 05 Jul 2006
Posts: 149
Location: São Paulo, Brazil

PostPosted: Sun Jan 07, 2007 5:19 pm    Post subject: Re: steveL's favourite tips Reply with quote

steveL wrote:
<t35t0r> i need an alias for ps -Af | grep someMatch | awk -F' ' '{print $2}'


Code:
man pgrep
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Sun Jan 07, 2007 7:14 pm    Post subject: Reply with quote

Nice one Fukai.
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Tue Jan 09, 2007 11:22 am    Post subject: Reply with quote

First, emerge gentoolkit if you don't have it (you should!)

# Check for security updates:
glsa-check -l affected

# Check which packages will be emerged :
glsa-check -p affected

# Apply security updates:
glsa-check -f affected

Thanks lefou!


Last edited by steveL on Wed Sep 19, 2007 10:39 am; edited 2 times in total
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Wed Jan 10, 2007 2:59 pm    Post subject: Reply with quote

Having device nodes for stuff udev doesn't handle:
<Kyuu> ..a tarballed udev tree which can be set in /etc/conf.d/rc
<MvG> RC_DEVICE_TARBALL="yes"
from rc file:
# Set to "yes" if you want to save /dev to a tarball on shutdown
# and restore it on startup. This is useful if you have a lot of
# custom device nodes that udev does not handle/know about.
<MvG> You create the device node manually, and next time you reboot it's recreated from the tarball.
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Wed Jan 10, 2007 5:03 pm    Post subject: To get the pkg name from {PF} the full atom Reply with quote

awk 'sub(/-[0-9].*/, "")' is the current recommendation for a pipe/ file of pkg names
[${x%-[0-9]*} if $x has the atom (I haven't tried this yet, but I trust xmb on #bash)
Back to top
View user's profile Send private message
nanafunk
n00b
n00b


Joined: 29 Jun 2005
Posts: 36

PostPosted: Wed Jan 10, 2007 8:21 pm    Post subject: Reply with quote

Don't trust xmb.
Back to top
View user's profile Send private message
lefou
Apprentice
Apprentice


Joined: 18 Feb 2004
Posts: 197
Location: Germany, Leipzig

PostPosted: Wed Jan 10, 2007 8:28 pm    Post subject: Reply with quote

steveL wrote:
SECURITY UPDATES:
First, `emerge gentoolkit' if you don't have it (you should!)

glsa-check -t all
- to check on which bugs your system is affected

glsa-check -p $(glsa-check -t all)
- to check which packages will be emerged

glsa-check -f $(glsa-check -t all)
- to emerge those upgrades

Thanks aqu!


Why not using glsa-check's simplier built-in options?

Code:
# Check for security updates:
glsa-check -l affected

# Apply security updates:
glsa-check -f affected

_________________
lefous portage overlay


Last edited by lefou on Thu Jan 11, 2007 12:19 pm; edited 1 time in total
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Thu Jan 11, 2007 3:40 am    Post subject: Reply with quote

nanafunk wrote:
Don't trust xmb.
Well the awk script works, and that's his too.
Back to top
View user's profile Send private message
nanafunk
n00b
n00b


Joined: 29 Jun 2005
Posts: 36

PostPosted: Fri Jan 19, 2007 12:36 am    Post subject: Reply with quote

2 functions from my ~/.bashrc, hopefully some use to someone.

pc -- package count, number of packages installed
pl -- package list, list of packages installed

Code:
pc(){ local i=0; while read; do ((i++)); done < <(printf "%s\n" /var/db/pkg/*/*/); echo "$i"; }
pl(){ local i; for i in /var/db/pkg/*/*; do i="${i#/*/*/*/}"; echo "${i%-[0-9]*}"; done; }
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Fri Jan 19, 2007 3:01 am    Post subject: Reply with quote

Excellent! Thanks nanafunk.
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Mon Jan 29, 2007 7:35 pm    Post subject: Reply with quote

nanafunk wrote:
Don't trust xmb.
Funny, he keeps trying to get me to give him a root login to my machine lol.

Anyway, one more about compiling the kernel. Thanks again to Neddy Seagoon.
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Wed Feb 07, 2007 1:39 pm    Post subject: speeding up portage Reply with quote

Note this is now the default method in portage (and has been for a few years.)

This is an excellent tip from zmedico for speeding up portage cache updates- by not doing them! Seems the metadata kept in /var/cache/edb is pretty similar to the metadata which is rsynced (slightly different format) and portage can be set just to use the rsynced version. Perfect!

All you do is:
Code:
echo "portdbapi.auxdbmodule = cache.metadata_overlay.database" > /etc/portage/modules

and set FEATURES="-metadata-transfer" in make.conf. You also need to delete the /var/cache/edb/dep/usr/portage directory recursively. (I tarred mine up cos i was scared :)

man portage wrote:
modules
This file can be used to override the metadata cache implementation. In practice, portdbapi.auxdbmodule is the only variable that the user will want to override.
Example:
portdbapi.auxdbmodule = cache.metadata_overlay.database
The metadata_overlay cache module makes it possible to disable FEATURES="metadata-transfer" in make.conf(5). When the user initially enables metadata_overlay in /etc/portage/modules, all of the cache files contained in /var/cache/edb/dep/${PORTDIR} must be manually removed in order to avoid unecessary cache regeneration. In addition, users of the metadata_overlay module must never modify eclasses in ${PORTDIR} because portage will not be able to detect that cache regeneration is necessary. If the user would like to modify eclasses, it is safe to use metadata_overlay together with PORTDIR_OVERLAY in make.conf.


Last edited by steveL on Wed Oct 30, 2013 9:17 pm; edited 1 time in total
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Tue Mar 06, 2007 5:04 am    Post subject: Reply with quote

Transferring system:
from uberpinguin:
I have had excellent results from booting off a livecd, and 'tar -vcpj /mnt/gentoo/ --file=/remote/volume'. Never had trouble with the restore.

boot from a livecd, mount your root filesystem in /mnt/gentoo/ and 'tar -xvcjpf /remote/volume/archive.tar.bz2 /mnt/gentoo/'
Back to top
View user's profile Send private message
N-S
n00b
n00b


Joined: 30 Oct 2005
Posts: 34

PostPosted: Sun Mar 11, 2007 7:54 am    Post subject: Reply with quote

Link to Sneakernet is broken. It goes to the Xorg modelines page.
_________________
___________________
There is No Substitute!
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Sun Mar 11, 2007 5:50 pm    Post subject: Reply with quote

N-S wrote:
Link to Sneakernet is broken. It goes to the Xorg modelines page.

Thanks N-S, fixed it. Dunno how that happened :)
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Wed Mar 14, 2007 10:49 am    Post subject: Reply with quote

Alan McKinnon wrote:
One thing I *LOVE* doing: run file in each directory, cut the output, sort, uniq it, and see what kind of files I have there. I've discovered that file recognizes many weird formats :D


http://help.lockergnome.com/linux/gentoo-revdep-rebuild-gcj-ftopict393221.html
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Thu Mar 15, 2007 3:46 pm    Post subject: Reply with quote

TriffidHunter: ..when you don't put INPUT_DEVICES="mouse keyboard" in your make.conf before emerging xorg.. add that, then emerge -avt1 xf86-input-{mouse,keyboard}

intel hd audio: if (kernel alsa) the modem driver (Intel/SiS/nVidia/AMD MC97 Modem) is enabled i cannot use my soundcard either (renihs)
zgrep SND_INTEL8X0M /proc/config.gz (zlin) good tip for checking whether your kernel has a setting.
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Mon Apr 30, 2007 10:01 am    Post subject: Reply with quote

MickKi wrote:
To create a back up of your MBR and Master Partition Table on a floppy, using the dd command:
Code:
# dd if=/dev/hda of=/dev/fd0/boot.mbr bs=512 count=1

To recover the lost partitions all you need to do is:
Code:
# dd if=/dev/fd0/boot.mbr of=/dev/hda bs=512 count=1

From this post.
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Mon Apr 30, 2007 10:02 am    Post subject: Reply with quote

Another NeddySeagoon post, this one on setting up IDE and DMA for hard disk and cdroms. Change the chipset line at the bottom to match yours.
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Mon Nov 26, 2007 4:33 pm    Post subject: Setting up a local overlay Reply with quote

This is really simple, but there's a small gotcha, which is you need a repo_name file in profiles subdir, or portage will complain that the PORTDIR directory structure is invalid. Secondly, there's no more old-style make.conf PORTDIR_OVERLAY="/usr/local/portage", and we need to give it a layout.conf. The Wiki has a page on this, so check that too.

We normally use: /usr/local/portage since that keeps it out of the portage tree (eg if we want to use a different fs for the tree, or wipe it and reformat, when distfiles is another mount), and is in the correct place for just this machine:
Code:
mkdir -p /usr/local/portage/profiles /usr/local/portage/metadata
echo aname > /usr/local/portage/profiles/repo_name
echo 'masters = gentoo' > /usr/local/portage/metadata/layout.conf
chown -R portage:portage /usr/local/portage

In /etc/portage/repos.conf/local:
Code:
[myName]
location = /usr/local/portage
priority = 10000

Using the overlay:
Remember the directory structure should mirror the one under /usr/portage. So, for example, an apache ebuild you've patched would go in directory /usr/local/portage/www-servers/apache.

Before you can use it, you have to cd to the overlay ebuild directory and run:
Code:
repoman manifest

This will download any sources you need, but not any patches etc: they live in the files/ subdir under the ebuild directory. It's easiest just to try emerging the ebuild (-av will tell you it's coming from the right overlay; it'll show ::aname after the version) and cp any files needed from the portage tree.

You can also add licenses which are not in the main tree under licenses subdir, and patch eclasses (if you have to-- better for writing your own) in ofc, the eclass directory.

The /etc/portage/repos.conf/ directory is made by portage (on upgrade, here) with the file /etc/portage/repos.conf/gentoo.conf:
Code:
[DEFAULT]
main-repo = gentoo

[gentoo]
location = /usr/portage
sync-type = rsync
sync-uri = rsync://rsync.europe.gentoo.org/gentoo-portage
where sync-uri is your $SYNC setting from make.conf.

Overlays are selected according to the priority; the gentoo one defaults to -1000. The example in the manpages shows how to do what I call "underlays", that is developer-overlays which defer to gentoo (at priority 0), instead of overriding it. In the older setup, PORTDIR was the default, and only consulted if the ebuild was not in the other overlays. We want our local one to be looked at first, though that's only where there's a choice of ebuilds with the same version. A higher-version in a lower-priority overlay, is still chosen as "best-visible."

The "best-visible" is the latest one according to your profile and any masking/ keyword settings (plus ebuild dependencies.)
The newest best-visible is always picked, irrespective of which overlay it's in; the ordering only comes into play for equal versions of the same best-visible.
It can be confusing if you don't know about that aspect; the idea is that if the tree moves forward with a newer version, you want that version for the default user-case. If not, use a cat-foo/pkgbar::overlay mask.

Overlays were selected in inverse order to the listing in PORTDIR_OVERLAY (ie latest takes precedence). The newer setup is more flexible, at the price of a bit more complexity (and I wouldn't want to debug the interaction of more than a very few overlays;)
To see the current situation for your setup use:
Code:
portageq repos_config /

There's no manpage for portageq though portageq(1) is mentioned in man emerge.
Run portageq -h instead.

So by setting our priority to 10000, we have plenty of space below, for any overlays we might install, as well as underlays we might work on, and can still override by dropping a patched ebuild and/or files, into /usr/local/portage just as we always have.


Last edited by steveL on Thu Nov 20, 2014 2:16 pm; edited 10 times in total
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Wed Nov 28, 2007 10:30 am    Post subject: Getting a debug back-trace via bashrc Reply with quote

To get anything you emerge with FEATURES=debug emerge blah to also have the proper CFLAGS etc for a debug build, use this in /etc/portage/bashrc:
Code:

if [[ $EBUILD_PHASE = setup && " $FEATURES " = *' debug '* ]]; then
   einfo 'bashrc: enabling debug settings'
   DEBUG=yes
   RESTRICT+=' strip'
   export CFLAGS="${CFLAGS/-fomit-frame-pointer/} -g3"
   export CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer/} -g3"
fi

Thanks to solar for the definitive flag settings.
We need to do this with pre/post hooks, but this works for now.
  • add einfo
  • don't use crufty ${LDFLAGS}
  • RESTRICT=strip v. nostrip (FEATURE)
  • removed: export LDFLAGS="$LDFLAGS -ggdb" since ld ignores -g.


edit: see this post (on next page) for package.env method I use for per-package setup.


Last edited by steveL on Sat Mar 08, 2014 7:01 pm; edited 4 times in total
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Mon Dec 03, 2007 3:06 pm    Post subject: Using dispatch-conf Reply with quote

Thargor: Just use dispatch-conf.
/etc/dispatch-conf.conf:
Code:
# Automerge files comprising only CVS interpolations (e.g. Header or Id)
# (yes or no)
replace-cvs=yes

# Automerge files comprising only whitespace and/or comments
# (yes or no)
replace-wscomments=yes

# Automerge files that the user hasn't modified
# (yes or no)
replace-unmodified=yes

# Ignore a version that is identical to the previously merged version,
# even though it is different from the current user modified version
# Note that emerge already has a similar feature enabled by default,
# which can be disabled by the emerge --noconfmem option.
# (yes or no)
ignore-previously-merged=no


Then run dispatch-conf.
The first few files, everything will be like it is now, but with the config from above, dispatch-conf stores every file and does replace it automatically if you have not changed it.
==

edit: add comment about --noconfmem, and set ignore-previously-merged to no instead of yes, so that we see changes when we use the latter option.


Last edited by steveL on Fri Sep 26, 2014 3:17 am; edited 1 time in total
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Wed Dec 05, 2007 2:55 pm    Post subject: Using gentoo in production Reply with quote

Nice post which gives a good summary of how to setup Gentoo in production. update handles binpkgs nicely ofc :)
Back to top
View user's profile Send private message
steveL
Advocate
Advocate


Joined: 13 Sep 2006
Posts: 2914
Location: The Peanut Gallery

PostPosted: Tue Dec 11, 2007 2:47 pm    Post subject: Rebuilding your system in a new partition Reply with quote

Great post on making an updated install stage. I've been building chroots for the last couple of months while working on update and am thinking to write a script to replicate my current setup from a stage3. I've built loads of chroots, especially since I started using a binhost, and have started a script which takes care of the base build based on user menu selection.
Anyhow, I'll add stuff to this post, so far we have:
  • Hostname, and configs
    We can copy from existing system, or the config file dir. And the user should be able to edit any config file from a selection and revert changes in case of problems. Eg making sure the CFLAGS are correct (for a single-user reinstall) is important, as are any base USE settings.

  • Update system then emerge -e world
    First run of system and world we can do -X, imo. It's better to build it up slowly, get the machine booting and see.

  • umount /dev /proc from the chroot and then tar the installation (this is within chroot):
    Code:
    cd / && tar -cvjp ./ -f $(date +%Y%m%d)-baseline.tar.bz2

    Gives a base stage. It would be fun to play with that in a vm as well.

Suicidal wrote:
For future installs I just update the existing chroot and then tar it up like I did before.


edit: cd / only applies in chroot.


Last edited by steveL on Wed Oct 30, 2013 9:21 pm; edited 1 time in total
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum