Ubuntu: Co robią ze źródłami wanilii?

12

Popraw mnie, jeśli się mylę

O ile wiem dystrybucje takie jak Debian / Ubuntu / Fedora zwykle modyfikują waniliowy kod źródłowy przed utworzeniem pakietu. Jaki jest powód tych zmian? Czy jest problem z oryginalnym źródłem? Jak mogę uzyskać listę zmian i powód wprowadzenia zmian w konkretnym pakiecie?

Dzięki za pomoc!

użytkownik5210
źródło

Odpowiedzi:

18
apt-get source package

Otrzymasz dwa lub trzy pliki: „oryginalny” plik archiwum (czasem modyfikowany, ale rzadko… jedyną zmianą jest często nazwa pliku) - o nazwie * .orig.tar.gz, zmiany w debianie w postaci * .diff plik .gz i niektóre metadane. Czasami brakuje pliku .diff.gz: oznacza to, że pakiet jest budowany tylko dla debian / ubuntu, aby obsłużyć bardzo specyficzną pracę dystrybucyjną ... na przykład, dakktóra zarządza przesyłaniem archiwum debian. Następnie cały kod znajduje się w oryginalnym archiwum.

Powodów jest wiele: naprawianie błędów w oprogramowaniu (gdy upstream nie chce), dostosowywanie oprogramowania do debiana (np. Dostosowywanie ścieżek plików). Debian chce, aby wszystkie pakiety były zgodne ze standardem FileSystem Hierarchy Standard , co jest bardzo częstym dostosowaniem.

Oryginalne archiwum jest czasem inne niż utworzone wcześniej z powodu problemów z pakowaniem. Pamiętam, jak widziałem program dystrybuowany w kilku archiwach tar, podczas gdy generowały one tylko jeden plik wykonywalny - opiekun Debiana postanowił stworzyć własny „oryginalny” archiwum składający się z tarowanych archiwów. Innym powodem jest moment, w którym opiekun Debiana decyduje się na dodanie pliku binarnego do pakietu. Trudno jest umieścić pliki binarne w pliku .diff.gz, więc oryginalny plik archiwum został zmodyfikowany (i zwykle jest to wyraźnie opisane w dokumentacji pakietu).

Czasami (bardzo rzadko) problemem jest licencjonowanie. Zdarza się, że upstream nie rozumie lub nie chce zrozumieć konsekwencji z powodu niektórych licencji. Debian chce rozwiązać wszystkie problemy związane z licencjonowaniem, więc zdarza się, że łatki Debiana wykonują określone czynności lub oryginalny plik tar jest usuwany z nielegalnie rozpowszechnianych plików.

Zdarza się również, że niektóre treści są licencjonowane, więc możesz z nich korzystać, ale nie rozpowszechniać. Zazwyczaj (Fe msttcorefonts, flashplugin-nonfree) pakiet debian jest tylko jakiś instalator pakietu, a nie oryginalną treść znajduje się wewnątrz opakowania.

pinepakiet jest również interesujący, ponieważ licencja zabrania rozpowszechniania skompilowanych formularzy. Dlatego nie ma pinepakietu binarnego, ale istnieje pinepakiet źródłowy. Możesz pobrać go za pomocą powyższego polecenia i skompilować w pakiet debian dla siebie.

liori
źródło
Sosna jest obecnie opracowywana jako alpejska, aby obejść pierwotne problemy licencyjne - washington.edu/pine
theotherreceive
Nadal pinepakiet znajduje się w repozytorium. Ale cóż, w ten sposób problemy z licencjonowaniem utrudniają.
liori
2

Przyczyny są prawdopodobnie tak wiele razy, jak istnieją opiekunowie i pakiety. Myślę, że zazwyczaj modyfikują oprogramowanie, aby lepiej integrowało się z innym oprogramowaniem w dystrybucji lub dodało funkcje, które nie są w „oficjalnej” wersji.

możesz pobrać źródła (i różnice specyficzne dla Ubuntu), pisząc sudo apt-get source PACKAGENAMEw wierszu poleceń. Spowoduje to pobranie źródeł wanilii i różnic pakietu do bieżącego katalogu. Zazwyczaj zawierają także komentarze w źródle.

Kim
źródło
1

Pomyśl o tym w ten sposób. Jeśli zainstalowałeś program z oryginalnego źródłowego archiwum za pośrednictwem ./configure; make; make install, nadal masz trochę pracy do zrobienia. Musisz wprowadzić pozycje menu, musisz skonfigurować pliki konfiguracyjne i tak dalej. Może trzeba dać . Zmiany opiekunów dystrybucji często stanowią jedynie automatyzację tych przyziemnych zadań../configure--prefix

Ryan C. Thompson
źródło