# [SOLVED][PORTAGE]Własny skrypt post-instalacyjny?

## Jacekalex

Witam

Czy w portage jest jakiś uchwyt funkcji, żeby w konfigu ustawić własny skrypt post-instalacyjny, który dostanie jako argument listę zainstalowanych paczek?

Bo chciałbym zrobić sobie skrypta, który automatycznie będzie ustawiał flagi paxa i niektóre specyficzne uprawnienia, a raczej nie zamierzam robić własnej dystrybucji, czy majstrować w każdym ebuildzie z osobna.

Pozdrawiam

 :Cool: Last edited by Jacekalex on Thu Sep 11, 2014 5:33 pm; edited 1 time in total

----------

## SlashBeast

Mozesz sobie w /etc/portage/bashrc dodac takie czary, i tam dac np. post_pkg_inst.

----------

## Jacekalex

Ok, dzięki, popróbuję.  :Wink: 

Pozdrawiam

 :Cool: 

----------

## SlashBeast

Tutaj masz przyklad ktory kiedys poskladalem na rzecz localpatch i pathparanoid: https://github.com/slashbeast/foobashrc/blob/master/bashrc

----------

## Jacekalex

Twojego localpatcha znam, kiedyś nakładał u mnie latki paxa na Nvidię i Vboxa, zanim doszusowały do rośliny, teraz też tam kilka łatek zostało.

Spróbuję cośtam naskrobać, na razie do flag paxa mam skrypta, który wali po folderach, czyste stolarstwo   :Wink:  , ale opisane np na wiki Funtoo.

Ale muszę sobie zrobić dla kilku paczek inny kompilator, bo na gcc-4.6 i 4.7 ani myślą się kompilować, 

troszkę zmian w uprawnieniach domyślnych, np dla binarek suid ACL, np:

```
getfacl /usr/bin/sudo

getfacl: Removing leading '/' from absolute path names

# file: usr/bin/sudo

# owner: root

# group: root

# flags: s--

user::rwx

group::--x

group:wheel:--x

mask::--x

other::---
```

i oczywiście  wspomniane wyżej flagi paxa.

Będzie trochę zabawy, nie wiem, kiedy i co z tego wyjdzie, ale spróbuję.

Zamiaruję spróbować nowy system na gcc-4.7 z lto, tylko zastanawiam się  jeszcze, czy używać linkera gold, jak ostatnio próbowałem, to glibc nie tolerowalo tego linkera.

Ile razy zmieniam kompilator i stawiam system, robię to po to, żeby wyszedł lepiej od poprzedniego  :Smile: 

Tylko poczekam, aż się wyjaśni sprawa odpowiednika debianowego multiarch, na razie jest jakiś profil:

```
  [17]  default/linux/amd64/13.0/x32
```

Ja poczekam trochę, czy pojawi się coś w typie:

```
  [17]  hardened/linux/amd64/x32
```

Dzięki   :Smile: 

Pozdrawiam

 :Cool: 

----------

## SlashBeast

Wiele ebuildow ma pax marking, jezeli cos po merge musisz paxctl'em cisnac, to moze zglos buga na bugzille? A nakladanie aclek to chcesz raczej robic w $D by na system plikow trafilo juz z nimi, inaczej mozesz miec race condition i ktos otworzy deskryptor bez aclek.

btw mozesz rowniez flagi paxa ustawiac bez edycji samych plikow uzywajac xattr, np.

```
setfattr -n user.pax.flags -v <flagi> /usr/bin/whatever
```

Ja osobiscie darowalem sobie zabawy z goldem i cudami jak link time optimalization, wole jak mi system dziala, a z goldem mialem same problemy i musialem ponad polowe systemu kompilowac z domyslnym linkerem. Chyba po prostu wyroslem z zabawy w ricera z ftracer i ffast-math na czele.

----------

